aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows
diff options
context:
space:
mode:
authornsfisis <54318333+nsfisis@users.noreply.github.com>2025-04-27 13:47:46 +0900
committerGitHub <noreply@github.com>2025-04-27 13:47:46 +0900
commit771f7c72fd1f1236031751048861550c694c796c (patch)
treef2b74712b9b3c064bbc435e14a889825e67a82d4 /.github/workflows
downloadnur-packages-771f7c72fd1f1236031751048861550c694c796c.tar.gz
nur-packages-771f7c72fd1f1236031751048861550c694c796c.tar.zst
nur-packages-771f7c72fd1f1236031751048861550c694c796c.zip
Initial commit
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml76
1 files changed, 76 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..6f0117f
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,76 @@
+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/nixpkgs-unstable.tar.gz
+ - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz
+ - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-24.05.tar.gz
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ - name: Install nix
+ uses: cachix/install-nix-action@v30
+ with:
+ nix_path: "${{ matrix.nixPath }}"
+ extra_nix_config: |
+ experimental-features = nix-command flakes
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - name: Show nixpkgs version
+ run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version'
+ - name: Setup cachix
+ uses: cachix/cachix-action@v15
+ # 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: 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 }}"