diff options
author | Mihai Fufezan <[email protected]> | 2023-09-10 21:51:13 +0300 |
---|---|---|
committer | Mihai Fufezan <[email protected]> | 2023-09-12 01:40:57 +0300 |
commit | ed51fe7bac76248933c71d3958fdb9a973066dfd (patch) | |
tree | b815ae1f9f82f80257a057c4dd17a6cc9efa5b7b | |
parent | bc41d7ec8515723d79cc921454a739d65db69467 (diff) | |
download | Hyprland-ed51fe7bac76248933c71d3958fdb9a973066dfd.tar.gz Hyprland-ed51fe7bac76248933c71d3958fdb9a973066dfd.zip |
CI: add reusable actions
-rw-r--r-- | .github/workflows/man-update.yaml | 11 | ||||
-rw-r--r-- | .github/workflows/nix-build.yml | 37 | ||||
-rw-r--r-- | .github/workflows/nix-ci.yml | 13 | ||||
-rw-r--r-- | .github/workflows/nix-update-inputs.yaml | 40 | ||||
-rw-r--r-- | .github/workflows/nix-update-inputs.yml | 37 | ||||
-rw-r--r-- | .github/workflows/nix-update-wlroots.yaml | 38 | ||||
-rw-r--r-- | .github/workflows/nix-update-wlroots.yml (renamed from .github/workflows/nix-build.yaml) | 30 |
7 files changed, 111 insertions, 95 deletions
diff --git a/.github/workflows/man-update.yaml b/.github/workflows/man-update.yaml index 215d8616..b47787c0 100644 --- a/.github/workflows/man-update.yaml +++ b/.github/workflows/man-update.yaml @@ -15,17 +15,16 @@ jobs: steps: - name: Install deps run: sudo apt install pandoc + - name: Clone repository uses: actions/checkout@v3 - # Not needed - # with: - # submodules: recursive + with: + token: ${{ secrets.PAT }} + - name: Build man pages run: make man + - uses: stefanzweifel/git-auto-commit-action@v4 name: Commit with: commit_message: "[gha] build man pages" - commit_user_name: Mihai Fufezan - commit_user_email: [email protected] - commit_author: Mihai Fufezan <[email protected]> diff --git a/.github/workflows/nix-build.yml b/.github/workflows/nix-build.yml new file mode 100644 index 00000000..7f630ecf --- /dev/null +++ b/.github/workflows/nix-build.yml @@ -0,0 +1,37 @@ +on: + workflow_call: + secrets: + CACHIX_AUTH_TOKEN: + required: false + +jobs: + build: + strategy: + matrix: + package: + - hyprland + - hyprland-nvidia + - xdg-desktop-portal-hyprland + + runs-on: ubuntu-latest + steps: + - name: Clone repository + uses: actions/checkout@v3 + with: + ref: ${{ github.ref }} + + - name: Install Nix + uses: cachix/install-nix-action@v22 + with: + install_url: https://nixos.org/nix/install + extra_nix_config: | + auto-optimise-store = true + access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} + experimental-features = nix-command flakes + + - uses: cachix/cachix-action@v12 + with: + name: hyprland + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + + - run: nix build -L ${{ matrix.command }} diff --git a/.github/workflows/nix-ci.yml b/.github/workflows/nix-ci.yml new file mode 100644 index 00000000..fccd4d09 --- /dev/null +++ b/.github/workflows/nix-ci.yml @@ -0,0 +1,13 @@ +name: Nix + +on: [push, pull_request, workflow_dispatch] + +jobs: + wlroots: + uses: ./.github/workflows/nix-update-wlroots.yml + secrets: inherit + + build: + needs: wlroots + uses: ./.github/workflows/nix-build.yml + secrets: inherit diff --git a/.github/workflows/nix-update-inputs.yaml b/.github/workflows/nix-update-inputs.yaml deleted file mode 100644 index 886e2278..00000000 --- a/.github/workflows/nix-update-inputs.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: "Nix update" - -on: - schedule: - - cron: '0 0 * * *' - -jobs: - update: - name: "inputs" - runs-on: ubuntu-latest - steps: - - name: Clone repository - uses: actions/checkout@v3 - - - name: Install nix - uses: cachix/install-nix-action@v20 - with: - install_url: https://nixos.org/nix/install - extra_nix_config: | - auto-optimise-store = true - access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - experimental-features = nix-command flakes - - - name: Update lockfile - run: nix/update-inputs.sh - - - uses: cachix/cachix-action@v12 - with: - name: hyprland - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: Build packages - run: nix flake check --print-build-logs --accept-flake-config - - - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: "[gha] Nix: bump inputs" - commit_user_name: Mihai Fufezan - commit_user_email: [email protected] - commit_author: Mihai Fufezan <[email protected]> diff --git a/.github/workflows/nix-update-inputs.yml b/.github/workflows/nix-update-inputs.yml new file mode 100644 index 00000000..2de1cf9f --- /dev/null +++ b/.github/workflows/nix-update-inputs.yml @@ -0,0 +1,37 @@ +name: Nix + +on: + schedule: + - cron: '0 0 * * *' # check daily + +jobs: + update: + name: inputs + runs-on: ubuntu-latest + steps: + - name: Clone repository + uses: actions/checkout@v3 + with: + token: ${{ secrets.PAT }} + + - name: Install nix + uses: cachix/install-nix-action@v22 + with: + install_url: https://nixos.org/nix/install + extra_nix_config: | + auto-optimise-store = true + access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} + experimental-features = nix-command flakes + + - name: Update inputs + run: nix/update-inputs.sh + + - name: Commit + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: "[gha] Nix: update inputs" + + update-build: + needs: update + uses: ./.github/workflows/nix-build.yml + secrets: inherit diff --git a/.github/workflows/nix-update-wlroots.yaml b/.github/workflows/nix-update-wlroots.yaml deleted file mode 100644 index 5e15675f..00000000 --- a/.github/workflows/nix-update-wlroots.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: "Nix update" - -on: [push, workflow_dispatch] - -jobs: - update: - name: "wlroots" - runs-on: ubuntu-latest - steps: - - name: Clone repository - uses: actions/checkout@v3 - - - name: Install nix - uses: cachix/install-nix-action@v20 - with: - install_url: https://nixos.org/nix/install - extra_nix_config: | - auto-optimise-store = true - access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} - experimental-features = nix-command flakes - - - name: Update lockfile - run: nix/update-wlroots.sh - - - uses: cachix/cachix-action@v12 - with: - name: hyprland - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: Build packages - run: nix flake check --print-build-logs --accept-flake-config - - - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: "[gha] Nix: bump wlroots" - commit_user_name: Mihai Fufezan - commit_user_email: [email protected] - commit_author: Mihai Fufezan <[email protected]> diff --git a/.github/workflows/nix-build.yaml b/.github/workflows/nix-update-wlroots.yml index 5e911a38..82bbc311 100644 --- a/.github/workflows/nix-build.yaml +++ b/.github/workflows/nix-update-wlroots.yml @@ -1,26 +1,34 @@ -name: Build Hyprland (Nix) +name: Nix + +on: + workflow_call: + secrets: + PAT: + required: true -on: [push, pull_request, workflow_dispatch] jobs: - nix: - name: "Build Hyprland (Nix)" + update: + name: wlroots runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@v3 with: - submodules: recursive + token: ${{ secrets.PAT }} + - name: Install nix - uses: cachix/install-nix-action@v20 + uses: cachix/install-nix-action@v22 with: install_url: https://nixos.org/nix/install extra_nix_config: | auto-optimise-store = true access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} experimental-features = nix-command flakes - - uses: cachix/cachix-action@v12 + + - name: Update lockfile + run: nix/update-wlroots.sh + + - name: Commit + uses: stefanzweifel/git-auto-commit-action@v4 with: - name: hyprland - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - name: Build packages - run: nix flake check --print-build-logs --accept-flake-config + commit_message: "[gha] Nix: update wlroots" |