aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github/workflows
diff options
context:
space:
mode:
authorMihai Fufezan <[email protected]>2023-09-10 21:51:13 +0300
committerMihai Fufezan <[email protected]>2023-09-12 01:40:57 +0300
commited51fe7bac76248933c71d3958fdb9a973066dfd (patch)
treeb815ae1f9f82f80257a057c4dd17a6cc9efa5b7b /.github/workflows
parentbc41d7ec8515723d79cc921454a739d65db69467 (diff)
downloadHyprland-ed51fe7bac76248933c71d3958fdb9a973066dfd.tar.gz
Hyprland-ed51fe7bac76248933c71d3958fdb9a973066dfd.zip
CI: add reusable actions
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/man-update.yaml11
-rw-r--r--.github/workflows/nix-build.yml37
-rw-r--r--.github/workflows/nix-ci.yml13
-rw-r--r--.github/workflows/nix-update-inputs.yaml40
-rw-r--r--.github/workflows/nix-update-inputs.yml37
-rw-r--r--.github/workflows/nix-update-wlroots.yaml38
-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"