build: Set post buffer size to just above the largest file #22
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
name: Docker CI | |
on: | |
- push | |
permissions: | |
contents: write | |
pages: write | |
jobs: | |
build-linux: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
strategy: | |
matrix: | |
target: | |
- id: fedora-baremetal | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora baremetal | |
dst: out/* | |
- id: fedora-hetzner | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora hetzner | |
dst: out/* | |
- id: fedora-digitalocean | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora digitalocean | |
dst: out/* | |
- id: fedora-aws | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora aws | |
dst: out/* | |
- id: fedora-gcp | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora gcp | |
dst: out/* | |
- id: fedora-ovh | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora ovh | |
dst: out/* | |
- id: fedora-linode | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile fedora linode | |
dst: out/* | |
- id: rocky-baremetal | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky baremetal | |
dst: out/* | |
- id: rocky-hetzner | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky hetzner | |
dst: out/* | |
- id: rocky-digitalocean | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky digitalocean | |
dst: out/* | |
- id: rocky-aws | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky aws | |
dst: out/* | |
- id: rocky-gcp | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky gcp | |
dst: out/* | |
- id: rocky-equinix | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky equinix | |
dst: out/* | |
- id: rocky-ovh | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky ovh | |
dst: out/* | |
- id: rocky-azure | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky azure | |
dst: out/* | |
- id: rocky-civo | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky civo | |
dst: out/* | |
- id: rocky-linode | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile rocky linode | |
dst: out/* | |
- id: alma-baremetal | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma baremetal | |
dst: out/* | |
- id: alma-hetzner | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma hetzner | |
dst: out/* | |
- id: alma-digitalocean | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma digitalocean | |
dst: out/* | |
- id: alma-aws | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma aws | |
dst: out/* | |
- id: alma-gcp | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma gcp | |
dst: out/* | |
- id: alma-equinix | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma equinix | |
dst: out/* | |
- id: alma-ovh | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma ovh | |
dst: out/* | |
- id: alma-azure | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma azure | |
dst: out/* | |
- id: alma-linode | |
src: . | |
os: fedora:39 | |
cmd: ./Hydrunfile alma linode | |
dst: out/* | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Restore ccache | |
uses: buildjet/cache/restore@v4 | |
with: | |
path: | | |
${{ runner.temp }}/${{ matrix.target.id }}/.cache/ccache | |
key: ccache-${{ matrix.target.id }} | |
- name: Build with Docker | |
working-directory: ${{ matrix.target.src }} | |
env: | |
PGP_KEY: ${{ secrets.PGP_KEY }} | |
PGP_KEY_PASSWORD: ${{ secrets.PGP_KEY_PASSWORD }} | |
PGP_KEY_ID: ${{ secrets.PGP_KEY_ID }} | |
run: docker run -v "${{ runner.temp }}/${{ matrix.target.id }}/.cache/ccache:/root/.cache/ccache" -v "${PWD}:/data" -e "PGP_KEY=${PGP_KEY}" -e "PGP_KEY_PASSWORD=${PGP_KEY_PASSWORD}" -e "PGP_KEY_ID=${PGP_KEY_ID}" ${{ matrix.target.os }} bash -c "cd /data && ${{ matrix.target.cmd }}" | |
- name: Fix permissions for output | |
run: sudo chown -R $USER . | |
- name: Save ccache | |
uses: buildjet/cache/save@v4 | |
with: | |
path: | | |
${{ runner.temp }}/${{ matrix.target.id }}/.cache/ccache | |
key: ccache-${{ matrix.target.id }} | |
- name: Upload output | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.target.id }} | |
path: ${{ matrix.target.dst }} | |
publish-linux: | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
needs: build-linux | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Download output | |
uses: actions/download-artifact@v2 | |
with: | |
path: ${{ runner.temp }}/out | |
- name: Isolate the repositories | |
run: | | |
mkdir -p ${{ runner.temp }}/github-pages | |
for dir in ${{ runner.temp }}/out/*/; do | |
rsync -a "${dir}"/ ${{ runner.temp }}/github-pages/ | |
done | |
- name: Increase Git buffer size to support pushing the largest file | |
run: git config --global http.postBuffer 128M | |
- name: Publish to GitHub pages | |
uses: peaceiris/actions-gh-pages@v4 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: ${{ runner.temp }}/github-pages/ | |
keep_files: true | |
user_name: github-actions[bot] | |
user_email: github-actions[bot]@users.noreply.github.com |