dev volatile #431
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
concurrency: | |
cancel-in-progress: true | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
check: | |
env: | |
USER: random_user | |
runs-on: ubuntu-22.04 | |
container: ${{ matrix.image }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Bootstrap | |
run: ./bootstrap.sh | |
- name: Config | |
run: make | |
- name: Check idempotence | |
run: | | |
make | tee __build__/log | |
! (grep -oP "changed=\d+" __build__/log | grep -oPq "changed=[1-9]") | |
# All format checks only available after complete machine setup | |
- name: Check format | |
run: | | |
make format | |
if [[ -n "$(git diff)" ]]; then | |
echo "Code is not formatted." | |
git diff | |
exit 1 | |
fi | |
strategy: | |
matrix: | |
image: ["ubuntu:22.04", "ubuntu:23.04", "ubuntu:23.10", "ubuntu:24.04"] | |
# Check that the project is able to configure remote host | |
check_remote: | |
env: | |
IMAGE: ubuntu:22.04 | |
USER: random_user | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Check remote config | |
run: make check_host | |
- name: Check remote idempotence | |
run: | | |
make check_host | tee __build__/log | |
! (grep -oP "changed=\d+" __build__/log | grep -oPq "changed=[1-9]") | |
lint: | |
runs-on: ubuntu-22.04 | |
steps: | |
# Checkout must be onto the original commit, not a single PR | |
# Otherwise lint will not see full history and diagnose secrets leakage | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Lint | |
run: make lint | |
scripts: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Generate roles graph | |
run: make graph | |
- name: Check update works | |
run: make update | |
- name: Show diff | |
run: git diff | |
name: dotfiles workflow | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main |