Skip to content

feat(docker): adding METADATA_ID/_REPO_{TAGS,DIGESTS} to push outputs #41

feat(docker): adding METADATA_ID/_REPO_{TAGS,DIGESTS} to push outputs

feat(docker): adding METADATA_ID/_REPO_{TAGS,DIGESTS} to push outputs #41

Workflow file for this run

name: tests
on:
push:
branches:
- main
paths:
- src/**
- tests/**
- config.nims
- "*.nimble"
# ignore docs not to waste CI minutes
- "!src/docs/**"
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
paths:
- src/**
- tests/**
- config.nims
- "*.nimble"
# ignore docs not to waste CI minutes
- "!src/docs/**"
permissions:
contents: read
packages: write
jobs:
pytest:
runs-on: ubuntu-latest
if: |
(
github.event_name == 'pull_request' &&
!github.event.pull_request.draft &&
!contains(github.event.pull_request.body, format('skip:{0}', github.workflow))
) || (
github.event_name == 'push' &&
endsWith(github.repository, 'chalk')
) || (
github.event_name == 'workflow_dispatch'
) || (
github.event_name == 'schedule'
)
concurrency:
# only allow one job per PR running
# older pending jobs will be cancelled not to waste CI minutes
# cannot use github.job here https://github.com/community/community/discussions/13496
group: ${{ github.workflow }}-pytest-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
install: true
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ github.token }}
- name: Bake Images
run: |
docker buildx bake chalk server tests --load
- name: Compile Chalk
if: inputs.chalk_url == ''
run: |
make
- name: Download Chalk
if: inputs.chalk_url != ''
run: |
curl -L "${{ inputs.chalk_url }}" > chalk
chmod +x chalk
./chalk version
- name: Run tests (Fast)
# run fast tests by default on PRs when
# "tests:--slow" is missing in PR description
if: |
github.event_name == 'pull_request' && (
!contains(github.event.pull_request.body, 'tests:--slow')
)
run: |
make tests_parallel
- name: Run tests (Slow)
# run slow tests on non-PR builds and when
# PR description has "tests:--slow"
if: |
github.event_name != 'pull_request' || (
contains(github.event.pull_request.body, 'tests:--slow')
)
run: |
make tests_parallel args="--slow"