Skip to content

Merge branch 'fix-raw-tex' #255

Merge branch 'fix-raw-tex'

Merge branch 'fix-raw-tex' #255

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/**']
pull_request:
branches: ['trunk', 'next']
jobs:
Jammy-Docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Fetch last release tag
run: |
git fetch --unshallow
git describe
- name: Prepare CI Image
# Build docker image using latest package as cache
run: |
echo ${{ secrets.GITHUB_TOKEN }} |
time misc/docker_build misc/Dockerfile.jammy ghcr.io/tim-janik/anklang/anklang-ci $GITHUB_ACTOR
- name: Configure Build
run: |
echo 'prefix=/' > config-defaults.mk
echo 'CC=clang' >> config-defaults.mk
echo 'CXX=clang++' >> config-defaults.mk
(umask 0077 && echo "${{ secrets.SSH_ID_GHDOCS4ANKLANG_ECDSA }}" > .git/.ssh_id_ghdocs4anklang)
cat config-defaults.mk
misc/docker_run sudo chown ubuntu:ubuntu -R /anklang/
misc/docker_run misc/version.sh
misc/docker_run bash -c 'source config-defaults.mk && $CXX --version'
- name: Make all pdf check
run: |
misc/docker_run make -j`nproc` all pdf
misc/docker_run make check
- name: Make install
run: |
misc/docker_run make install DESTDIR=inst
misc/docker_run cp -a inst/share/doc/anklang/ out/anklang-docs/
- uses: actions/upload-artifact@v3
if: success()
with:
name: docs
path: |
out/anklang-docs/
- name: Upload tim-janik.github.io/docs/anklang
if: github.ref == 'refs/heads/trunk'
run: |
misc/docker_run env
misc/docker_run doc/poxy.sh -b -u out/anklang-docs/
- name: Cleanup
run: |
misc/docker_clean
Arch-Replay:
runs-on: ubuntu-latest
env:
DOCKER_RUN: docker run --cap-add SYS_PTRACE -v /home/runner/work/anklang/anklang/:/anklang/ -w /anklang/ -t --rm anklang-arch
steps:
- uses: actions/checkout@v3
- name: Fetch last release tag
run: |
git fetch --unshallow
git describe
- name: Prepare CI Image
# Build docker image using latest package as cache
run: |
docker --version
set -x
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
docker pull ghcr.io/$GITHUB_REPOSITORY/anklang-ci:arch-latest || true
time docker build -f misc/Dockerfile.arch -t anklang-arch misc/ --cache-from=ghcr.io/$GITHUB_REPOSITORY/anklang-ci:arch-latest
docker tag anklang-arch ghcr.io/$GITHUB_REPOSITORY/anklang-ci:arch-latest
docker push ghcr.io/$GITHUB_REPOSITORY/anklang-ci:arch-latest || true
$DOCKER_RUN env </dev/null |& cat
- name: Configure Build
run: |
echo 'prefix=/' > config-defaults.mk
cat config-defaults.mk
$DOCKER_RUN sudo chown builder:builder -R /anklang/
$DOCKER_RUN misc/version.sh
- name: Make all check
run: |
$DOCKER_RUN make -j`nproc` all
$DOCKER_RUN make check
- name: Make x11test
run: |
$DOCKER_RUN make x11test-v
- uses: actions/upload-artifact@v3
if: always()
with:
name: x11test
path: out/x11test/
- name: Cleanup
run: |
$DOCKER_RUN sudo chown `id -u`:`id -g` -R /anklang/
Lunar-Clang-Tidy:
runs-on: ubuntu-latest
env:
DOCKER_RUN: docker run --cap-add SYS_PTRACE -v /home/runner/work/anklang/anklang/:/anklang/ -w /anklang/ -t --rm anklang-lunar
steps:
- uses: actions/checkout@v3
- name: Fetch last release tag
run: |
git fetch --unshallow
git describe
- name: Prepare CI Image
# Build docker image using latest package as cache
run: |
docker --version
set -x
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
docker pull ghcr.io/$GITHUB_REPOSITORY/anklang-ci:lunar-latest || true
time docker build -f misc/Dockerfile.lunar -t anklang-lunar misc/ --cache-from=ghcr.io/$GITHUB_REPOSITORY/anklang-ci:lunar-latest
docker tag anklang-lunar ghcr.io/$GITHUB_REPOSITORY/anklang-ci:lunar-latest
docker push ghcr.io/$GITHUB_REPOSITORY/anklang-ci:lunar-latest || true
$DOCKER_RUN env </dev/null |& cat
- name: Configure Build
# Set ubuntu:ubuntu permissions for docker volume, since Github CI uses something like 1001:123
# Silence host Git about ownership: https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9
# git config --global --add safe.directory '*'
run: |
echo 'prefix=/' > config-defaults.mk
echo 'CC=clang-17' >> config-defaults.mk
echo 'CXX=clang++-17' >> config-defaults.mk
echo 'CLANG_TIDY=clang-tidy-17' >> config-defaults.mk
cat config-defaults.mk
$DOCKER_RUN sudo chown ubuntu:ubuntu -R /anklang/
$DOCKER_RUN misc/version.sh
$DOCKER_RUN bash -c 'source config-defaults.mk && $CXX --version'
- name: Make all check
run: |
$DOCKER_RUN make -j`nproc` all
$DOCKER_RUN make check
- name: Make clang-tidy
run: |
$DOCKER_RUN make -j`nproc` clang-tidy
- uses: actions/upload-artifact@v3
if: success()
with:
name: clang-tidy
path: out/clang-tidy/
- name: Cleanup
run: |
$DOCKER_RUN sudo chown `id -u`:`id -g` -R /anklang/
Ping-IRC:
if: always()
needs: [Jammy-Docs, Arch-Replay, Lunar-Clang-Tidy]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check Jobs
run: |
echo '${{ needs.Jammy-Docs.result }}' '${{ needs.Arch-Replay.result }}' '${{ needs.Lunar-Clang-Tidy.result }}'
test success = '${{ needs.Jammy-Docs.result }}'
test success = '${{ needs.Arch-Replay.result }}'
test success = '${{ needs.Lunar-Clang-Tidy.result }}'
- 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 }}'
U='${{ github.actor }}' && B="$(git branch --show-current)"
MSG=$(git log -1 --format='%s')
.github/workflows/ircbot.py -q -j "#Anklang" -R "$R" -U "$U" -D "$B" -S "$S" "$MSG" "$URL"