Commit 7e191bc

HPCesia <me@hpcesia.com>
2026-05-28 15:15:09
ci: woodpecker build ci
1 parent 0c3d93c
Changed files (3)
.github
.woodpecker
.github/workflows/build.yml
@@ -1,77 +0,0 @@
-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
-          # TODO: flutter341 not exist in 25.11. Uncomment this after 26.05 published.
-          # - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.11.tar.gz
-    runs-on: ubuntu-latest
-    steps:
-    - name: Checkout repository
-      uses: actions/checkout@v6
-    - name: Install nix
-      uses: cachix/install-nix-action@v31
-      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@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: 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 }}"
.github/dependabot.yml
@@ -1,10 +0,0 @@
-version: 2
-updates:
-  - package-ecosystem: "github-actions"
-    directory: "/"
-    schedule:
-      interval: "weekly"
-  - package-ecosystem: "nix"
-    directory: "/"
-    schedule:
-      interval: "weekly"
.woodpecker/build.yml
@@ -0,0 +1,53 @@
+# 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_PATH:
+    - "https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz"
+    - "https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz"
+    # - "https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-26.05.tar.gz"
+
+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 "NIX_PATH=${NIX_PATH}" >> .envvars
+      - echo "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