Commit f850a98
.forgejo/workflows/build.yml
@@ -0,0 +1,83 @@
+name: "Build and populate cache"
+on:
+ pull_request:
+ push:
+ branches:
+ - main
+ - master
+ # schedule:
+ # # rebuild everyday at 2:51
+ # # TIP: Choose a random time here so not all repositories are build at once:
+ # # https://www.random.org/clock-times/?num=1&earliest=01%3A00&latest=08%3A00&interval=5&format=html&rnd=new
+ # - cron: "51 2 * * *"
+ workflow_dispatch:
+jobs:
+ tests:
+ strategy:
+ matrix:
+ # Set this to notify the global nur package registry that changes are
+ # available.
+ #
+ # The repo name as used in
+ # https://github.com/nix-community/NUR/blob/master/repos.json
+ nurRepo:
+ - <YOUR_REPO_NAME>
+ # Set this to cache your build results in cachix for faster builds
+ # in CI and for everyone who uses your cache.
+ #
+ # Format: Your cachix cache host name without the ".cachix.org" suffix.
+ # Example: mycache (for mycache.cachix.org)
+ #
+ # For this to work, you also need to set the CACHIX_SIGNING_KEY or
+ # CACHIX_AUTH_TOKEN secret in your repository secrets settings in
+ # Github found at
+ # https://github.com/<your_githubname>/nur-packages/settings/secrets
+ cachixName:
+ - <YOUR_CACHIX_NAME>
+ nixPath:
+ - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz
+ - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-26.05.tar.gz
+ runs-on: nixos-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+ - name: Setup Nix
+ run: |
+ echo "access-tokens = github.com=${{ secrets.NIX_GITHUB_TOKEN }}" >> /etc/nix/nix.conf
+ echo "NIX_PATH=${{ matrix.nixPath }}" >> $FORGEJO_ENV
+ - name: Show nixpkgs version
+ run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version'
+ - name: Setup cachix
+ uses: https://github.com/cachix/cachix-action@v17
+ # Don't replace <YOUR_CACHIX_NAME> here!
+ if: ${{ matrix.cachixName != '<YOUR_CACHIX_NAME>' }}
+ with:
+ name: ${{ matrix.cachixName }}
+ signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+ - name: Restore and save Nix store
+ uses: https://github.com/nix-community/cache-nix-action@v7
+ with:
+ primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
+ restore-prefixes-first-match: nix-${{ runner.os }}-
+ gc-max-store-size-linux: 2G
+ purge: true
+ purge-prefixes: nix-${{ runner.os }}-
+ purge-created: 0
+ purge-last-accessed: P1DT12H
+ purge-primary-key: never
+ - name: Check evaluation
+ run: |
+ nix-env -f . -qa \* --meta --xml \
+ --allowed-uris https://static.rust-lang.org \
+ --option restrict-eval true \
+ --option allow-import-from-derivation true \
+ --drv-path --show-trace \
+ -I nixpkgs=$(nix-instantiate --find-file nixpkgs) \
+ -I $PWD
+ - name: Build nix packages
+ run: nix shell -f '<nixpkgs>' nix-build-uncached -c nix-build-uncached ci.nix -A cacheOutputs
+ - name: Trigger NUR update
+ # Don't replace <YOUR_REPO_NAME> here!
+ if: ${{ matrix.nurRepo != '<YOUR_REPO_NAME>' }}
+ run: curl -XPOST "https://nur-update.nix-community.org/update?repo=${{ matrix.nurRepo }}"
.woodpecker/build.yml
@@ -1,53 +0,0 @@
-# Mostly modified from https://github.com/nix-community/nur-packages-template/blob/d65ab8218182ba47cd048d50ff1bae0d8b4e7546/.github/workflows/build.yml
-
-labels:
- tier: high
-
-when:
- - event: [push, manual]
- branch: main
-
-matrix:
- NIX_BRANCH:
- - nixpkgs-unstable
- - nixos-unstable
- - nixos-26.05
-
-steps:
- - name: Setup Nix config
- image: docker.io/nixos/nix:2.32.8
- commands:
- - mkdir -p ./.nixconf
- - install -Dm644 /etc/nix/nix.conf ./.nixconf
- - echo "access-tokens = github.com=$${GITHUB_TOKEN}" >> ./.nixconf/nix.conf
- - echo "experimental-features = nix-command flakes" >> ./.nixconf/nix.conf
- - echo "export NIX_PATH=nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/${NIX_BRANCH}.tar.gz" >> .envvars
- - echo "export NIX_CONF_DIR=$(realpath ./.nixconf)" >> .envvars
- environment:
- GITHUB_TOKEN:
- from_secret: github_token
-
- - name: Show nixpkgs version
- image: docker.io/nixos/nix:2.32.8
- commands:
- - source ./.envvars
- - nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version'
-
- - name: Check evaluation
- image: docker.io/nixos/nix:2.32.8
- commands:
- - source ./.envvars
- - |
- nix-env -f . -qa \* --meta --xml \
- --allowed-uris https://static.rust-lang.org \
- --option restrict-eval true \
- --option allow-import-from-derivation true \
- --drv-path --show-trace \
- -I nixpkgs=$(nix-instantiate --find-file nixpkgs) \
- -I $PWD
-
- - name: Build nix packages
- image: docker.io/nixos/nix:2.32.8
- commands:
- - source ./.envvars
- - nix shell -f '<nixpkgs>' nix-build-uncached -c nix-build-uncached ci.nix -A cacheOutputs