Skip to content

Serve locally using docker #84

Serve locally using docker

Serve locally using docker #84

Workflow file for this run

name: Tests
on:
pull_request:
push:
branches:
- master
jobs:
eslint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: DeterminateSystems/determinate-nix-action@v3
- name: Run Check
run: |
nix build .#checks.x86_64-linux.eslint --print-build-logs
tsc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: DeterminateSystems/determinate-nix-action@v3
- name: Run Check
run: |
nix build .#checks.x86_64-linux.tsc --print-build-logs
cog:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: DeterminateSystems/determinate-nix-action@v3
- name: Run Check
run: |
git --no-pager log ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
nix develop . --command cog check ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}
build-docker:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
statuses: write
steps:
- uses: actions/checkout@v5
- uses: DeterminateSystems/determinate-nix-action@v3
- name: Build site
run: |
nix build --print-build-logs
mkdir dist
cp --no-preserve=mode,ownership,timestamps result/* dist/
- uses: docker/metadata-action@v5
id: meta
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: docker/build-push-action@v6
with:
context: .
file: deploy/Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
success:
if: always()
runs-on: ubuntu-latest
needs:
- eslint
- cog
- tsc
- build-docker
steps:
- name: Check other jovs
uses: re-actors/alls-green@release/v1
with:
allowed-skips: cog
jobs: ${{ toJSON(needs) }}