Skip to content

Merge branch 'move-ci-to-noble' #494

Merge branch 'move-ci-to-noble'

Merge branch 'move-ci-to-noble' #494

Workflow file for this run

# This Source Code Form is licensed MPL-2.0: http://mozilla.org/MPL/2.0
# Linting: xclip -sel c <.github/workflows/testing.yml # https://rhysd.github.io/actionlint/
on:
push:
branches: [ 'trunk', 'next', 'wip/**' ]
# tags: [ 'v[0-9]+.[0-9]+.[0-9]+*' ]
pull_request:
branches: [ 'trunk', 'next' ]
jobs:
NobleAssets:
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:noble-latest', options: --user runner }
steps:
- { uses: actions/[email protected], with: { fetch-depth: 0, submodules: recursive, github-server-url: 'https://github.com' } }
- run: git fetch -f --tags # Fix actions/checkout#290
- run: git describe --always --long
- name: 'Configure build presets'
run: |
echo -e ' prefix=/\n CC=clang \n CXX=clang++ \n CLANG_TIDY=clang-tidy ' > config-defaults.mk
- name: 'Build Dist Assets'
run: |
make mkassets
- uses: actions/upload-artifact@v4
with: { name: assets, path: assets/ }
- uses: actions/upload-artifact@v4
with: { name: dist-tarball, path: assets/*.tar* }
UploadDocs:
if: ${{ github.repository == 'tim-janik/anklang' && github.ref == 'refs/heads/trunk' }}
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:noble-latest', options: --user runner }
steps:
- { uses: actions/[email protected], with: { fetch-depth: 0, submodules: recursive, github-server-url: 'https://github.com' } }
- run: git fetch -f --tags # Fix actions/checkout#290
- run: git describe --always --long
- name: 'Configure build presets'
run: |
echo -e ' prefix=/\n CC=clang \n CXX=clang++ \n CLANG_TIDY=clang-tidy ' > config-defaults.mk
- name: 'Upload API Docs' # http://tim-janik.github.io/docs/anklang
run: |
make -j`nproc` all
(umask 0077 && cat <<< "${{ secrets.SSH_ID_GHDOCS4ANKLANG_ECDSA }}" > .git/.ssh_id_ghdocs4anklang)
(cd / && sudo patch -t -p0) <doc/poxy-0.19.1.diff
doc/poxy.sh -b -u
ArchReplay:
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:arch-latest' }
steps:
- { uses: actions/[email protected], with: { fetch-depth: 0, submodules: recursive, github-server-url: 'https://github.com' } }
- run: git fetch -f --tags # Fix actions/checkout#290
- run: git describe --always --long
- name: 'Configure build presets'
run: |
echo 'prefix=/' > config-defaults.mk ;# reset any previous config-defaults.mk
- name: 'Build Anklang'
run: |
make GCC_COLORS="" -j`nproc` all
- name: 'Run Tests'
run: |
make -j`nproc` check
- name: 'Run X11 GUI Tests'
run: |
make x11test-v
# Artifact upload from x11test
- uses: actions/upload-artifact@v4
if: ${{ always() }}
with: { name: "x11test", path: "out/x11test/" }
NobleClangTidy:
if: ${{ ! contains(github.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:noble-latest', options: --user runner }
steps:
- { uses: actions/[email protected], with: { fetch-depth: 0, submodules: recursive, github-server-url: 'https://github.com' } }
- run: git fetch -f --tags # Fix actions/checkout#290
- run: git describe --always --long
- name: 'Configure build presets'
run: |
echo -e ' prefix=/\n CC=clang \n CXX=clang++ \n CLANG_TIDY=clang-tidy ' > config-defaults.mk
- run: |
make -j`nproc` all
- run: |
make -j`nproc` check
- name: 'Make clang-tidy'
run: |
make -j`nproc` clang-tidy
# Artifact upload from clang-tidy
- uses: actions/upload-artifact@v4
with: { name: clang-tidy, path: out/clang-tidy/ }
- name: 'Make branch-check'
# Use non-0 exit status for a failing branch-check on PRs
run: |
test -z "${{ github.event.pull_request }}" || BRANCH_CHECK_EXIT=77
make branch-check BRANCH_CHECK_EXIT=$BRANCH_CHECK_EXIT
Ping-IRC:
needs: [NobleAssets, UploadDocs, ArchReplay, NobleClangTidy]
runs-on: ubuntu-latest
steps:
- { uses: actions/[email protected], with: { fetch-depth: 0 } } # Fix actions/checkout#290
- run: git fetch -f --tags && git submodule update --init --recursive && git describe
- name: Check Jobs
run: |
echo '${{ needs.NobleAssets.result }}' '${{ needs.UploadDocs.result }}' '${{ needs.ArchReplay.result }}' '${{ needs.NobleClangTidy.result }}'
[[ ${{ needs.NobleAssets.result }} =~ success|skipped ]]
[[ ${{ needs.UploadDocs.result }} =~ success|skipped ]]
[[ ${{ needs.ArchReplay.result }} =~ success|skipped ]]
[[ ${{ needs.NobleClangTidy.result }} =~ success|skipped ]]
- name: Ping IRC
if: ${{ always() && !env.ACT }}
run: |
R='${{ github.repository }}' && R=${R#*/}
B='${{ github.ref }}' && B=${B#refs/heads/}
S='${{ job.status }}' && URL='${{ github.event.head_commit.url }}'
A='${{ github.actor }}' && B="$(git branch --show-current)"
MSG=$(git log -1 --format='%s')
.github/workflows/ircbot.py -q -j "#Anklang" -R "$R" -U "$A" -D "$B" -S "$S" "$MSG" "$URL"