Skip to content

.github/workflows/testing.yml: FocalAssets: fix $HOME and git checkout #471

.github/workflows/testing.yml: FocalAssets: fix $HOME and git checkout

.github/workflows/testing.yml: FocalAssets: fix $HOME and git checkout #471

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:
FocalAssets:
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:focal-latest' }
steps:
- run: |
sudo chown -R `id -u`:`id -g` . ~ ;# /github/home - actions/runner/issues/863
export HOME=$(env -i bash -c 'echo ~') && echo HOME=$HOME | sudo tee -a $GITHUB_ENV
! [[ $RUNNER_TEMP =~ _ ]] || sudo chmod -R 0777 $RUNNER_TEMP ;# for GH action cache
- name: 'Git Checkout'
run: |
git --version && git clone -q --recurse-submodules https://github.com/$GITHUB_REPOSITORY .
git fetch origin $GITHUB_REF # e.g. refs/pull/nnn/merge
[[ $GITHUB_REF =~ ^refs/heads/ ]] && BRANCHORSHA=$GITHUB_REF_NAME || BRANCHORSHA=$GITHUB_SHA
git checkout -q $BRANCHORSHA && git describe --always
- 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:focal-latest' }
steps:
- run: id && pwd && env && ls -al
- { 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: '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)
doc/poxy.sh -b -u
ArchReplay:
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:arch-latest' }
steps:
- run: id && pwd && env && ls -al
- { 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: '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/" }
FocalClangTidy:
if: ${{ ! contains(github.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
container: { image: 'ghcr.io/tim-janik/anklang-ci:focal-latest' }
steps:
- run: id && pwd && env && ls -al
- { 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: '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:
if: ${{ always() }}
needs: [FocalAssets, UploadDocs, ArchReplay, FocalClangTidy]
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.FocalAssets.result }}' '${{ needs.UploadDocs.result }}' '${{ needs.ArchReplay.result }}' '${{ needs.FocalClangTidy.result }}'
[[ ${{ needs.FocalAssets.result }} =~ success|skipped ]]
[[ ${{ needs.UploadDocs.result }} =~ success|skipped ]]
[[ ${{ needs.ArchReplay.result }} =~ success|skipped ]]
[[ ${{ needs.FocalClangTidy.result }} =~ success|skipped ]]
- name: Ping IRC
if: always()
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"