Skip to content

Add container image #1193

Add container image

Add container image #1193

Workflow file for this run

name: "CI"
on:
push:
branches:
- "master"
pull_request:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
nix:
runs-on: ${{ matrix.system }}
strategy:
matrix:
system: [aarch64-darwin, x86_64-linux]
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Build Nix
run: |
om ci --extra-access-tokens "github.com=${{ secrets.GITHUB_TOKEN }}" run --systems "${{ matrix.system }}"
flake-parts-docs:
runs-on: x86_64-linux
steps:
- uses: actions/checkout@v4
- name: Docs for flake.parts
run: |
# TODO: Define this in nixci itself.
nix build github:hercules-ci/flake.parts-website#checks.x86_64-linux.linkcheck --override-input emanote .
website:
if: github.ref == 'refs/heads/master'
runs-on: x86_64-linux
steps:
- uses: actions/checkout@v4
- name: Docs static site
id: docs
run: |
nix build .#docs -o ./_site
if ! [ -f ./_site/index.html ]; then
echo "ERROR: There is no index.html"
exit 2
fi
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: website
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
container:
if: github.ref == 'refs/heads/master'
runs-on: x86_64-linux
steps:
- uses: actions/checkout@v4
- name: Push Image
run: nix run ".#publish-container-release"
env:
GH_USERNAME: ${{ github.actor }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}