Skip to content

How to Pin Version of Package #346

Closed
@bdkiran

Description

@bdkiran

I have a pipeline that was running until a package that I use was updated and broke the package. In order to fix it short term, was hoping I could pin the version of the package in the nix shell action.

name: infra-deployment

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout Code
      uses: actions/checkout@v4
    
    - name: Install Nix On Runner
      uses: cachix/install-nix-action@v30
      with:
        nix_path: nixpkgs=channel:nixos-unstable

    - name: Deploy to Production
      uses: workflow/nix-shell-action@v3
      with:
        packages: morph:1.7 #<- This is where I would like to set the version of the package
        script: |
          morph deploy network.nix switch

Error Log from Github Actions when run like above:

nixpkgs.morph:1.7
error: unrecognised flag '-c'
Try 'nix --help' for more information.
unpacking 'github:NixOS/nixpkgs/062c4f59744fcffa2e5aa3ef443dc8b4d1674ed6' into the Git cache...
error: flake 'flake:nixpkgs' does not provide attribute 'packages.x86_64-linux.morph:1.7', 'legacyPackages.x86_64-linux.morph:1.7' or 'morph:1.7'
       Did you mean morph?

I have not seen any documentation of how to do this. Am I doing this correctly or is there a better way to do this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions