mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-29 19:05:58 +01:00
CI: add reusable actions
This commit is contained in:
parent
bc41d7ec85
commit
ed51fe7bac
7 changed files with 111 additions and 95 deletions
11
.github/workflows/man-update.yaml
vendored
11
.github/workflows/man-update.yaml
vendored
|
@ -15,17 +15,16 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- name: Install deps
|
- name: Install deps
|
||||||
run: sudo apt install pandoc
|
run: sudo apt install pandoc
|
||||||
|
|
||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
# Not needed
|
with:
|
||||||
# with:
|
token: ${{ secrets.PAT }}
|
||||||
# submodules: recursive
|
|
||||||
- name: Build man pages
|
- name: Build man pages
|
||||||
run: make man
|
run: make man
|
||||||
|
|
||||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||||
name: Commit
|
name: Commit
|
||||||
with:
|
with:
|
||||||
commit_message: "[gha] build man pages"
|
commit_message: "[gha] build man pages"
|
||||||
commit_user_name: Mihai Fufezan
|
|
||||||
commit_user_email: fufexan@protonmail.com
|
|
||||||
commit_author: Mihai Fufezan <fufexan@protonmail.com>
|
|
||||||
|
|
37
.github/workflows/nix-build.yml
vendored
Normal file
37
.github/workflows/nix-build.yml
vendored
Normal file
|
@ -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 }}
|
13
.github/workflows/nix-ci.yml
vendored
Normal file
13
.github/workflows/nix-ci.yml
vendored
Normal file
|
@ -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
|
40
.github/workflows/nix-update-inputs.yaml
vendored
40
.github/workflows/nix-update-inputs.yaml
vendored
|
@ -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: fufexan@protonmail.com
|
|
||||||
commit_author: Mihai Fufezan <fufexan@protonmail.com>
|
|
37
.github/workflows/nix-update-inputs.yml
vendored
Normal file
37
.github/workflows/nix-update-inputs.yml
vendored
Normal file
|
@ -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
|
38
.github/workflows/nix-update-wlroots.yaml
vendored
38
.github/workflows/nix-update-wlroots.yaml
vendored
|
@ -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: fufexan@protonmail.com
|
|
||||||
commit_author: Mihai Fufezan <fufexan@protonmail.com>
|
|
|
@ -1,26 +1,34 @@
|
||||||
name: Build Hyprland (Nix)
|
name: Nix
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
secrets:
|
||||||
|
PAT:
|
||||||
|
required: true
|
||||||
|
|
||||||
on: [push, pull_request, workflow_dispatch]
|
|
||||||
jobs:
|
jobs:
|
||||||
nix:
|
update:
|
||||||
name: "Build Hyprland (Nix)"
|
name: wlroots
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Clone repository
|
- name: Clone repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
token: ${{ secrets.PAT }}
|
||||||
|
|
||||||
- name: Install nix
|
- name: Install nix
|
||||||
uses: cachix/install-nix-action@v20
|
uses: cachix/install-nix-action@v22
|
||||||
with:
|
with:
|
||||||
install_url: https://nixos.org/nix/install
|
install_url: https://nixos.org/nix/install
|
||||||
extra_nix_config: |
|
extra_nix_config: |
|
||||||
auto-optimise-store = true
|
auto-optimise-store = true
|
||||||
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
|
||||||
experimental-features = nix-command flakes
|
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:
|
with:
|
||||||
name: hyprland
|
commit_message: "[gha] Nix: update wlroots"
|
||||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
||||||
- name: Build packages
|
|
||||||
run: nix flake check --print-build-logs --accept-flake-config
|
|
Loading…
Reference in a new issue