Repository navigation
90 lines (78 loc) · 2.87 KB
/
Copy pathacknowledg-forge.yml
File metadata and controls
90 lines (78 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Part of the EDG Compiler Project, under the Apache License v2.0 with LLVM
# Exceptions.
# See https://edgcpp.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#
# Typecheck and test acknowledg-forge: the shared edgacknowledg.forge
# package, the GitHub and GitLab services, and their integration with the
# AcknowlEDG client library and server.
name: acknowledg-forge
on:
push:
branches:
- main
paths:
- dev_tools/pylibs/edgacknowledg/**
- dev_tools/pylibs/edgtest/**
- dev_tools/pylibs/edgutil/**
- dev_tools/services/acknowledg/server/**
- dev_tools/services/acknowledg-forge/**
- dev_tools/docker/acknowledg-forge/**
- .github/workflows/acknowledg-forge.yml
pull_request:
paths:
- dev_tools/pylibs/edgacknowledg/**
- dev_tools/pylibs/edgtest/**
- dev_tools/pylibs/edgutil/**
- dev_tools/services/acknowledg/server/**
- dev_tools/services/acknowledg-forge/**
- dev_tools/docker/acknowledg-forge/**
- .github/workflows/acknowledg-forge.yml
# Also run by acknowledg-forge-deploy before publishing an image.
workflow_call:
# A new push to a pull request cancels its in-progress run. Pushes to main are
# grouped per commit, so every merged commit is still tested in full. When
# called from acknowledg-forge-deploy, github.workflow is the caller's name,
# so that run never shares a group with this workflow's own run on the push.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
permissions:
contents: read
jobs:
test:
name: Typecheck and test
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Set up uv
uses: astral-sh/setup-uv@v10.3.0
- name: Typecheck
run: dev_tools/services/acknowledg-forge/typecheck.sh
- name: Test
run: dev_tools/services/acknowledg-forge/tests/run-tests.sh -v
containers:
# The deployment itself (compose.yaml): what each container sees and
# can reach, on the runner's stock Docker and AppArmor (nothing to set
# up on the host, which is the point), on the Ubuntu release deployments
# run on.
name: Containers
runs-on: ubuntu-26.04
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@v7
- name: Set up uv
uses: astral-sh/setup-uv@v10.3.0
- name: Build image
env:
PYTHONPATH: ${{ github.workspace }}/dev_tools/pylibs
run: dev_tools/bin/build-edg-env --quiet acknowledg-forge
- name: Test
env:
ACKNOWLEDG_FORGE_TEST_IMAGE: ghcr.io/edgcpp/acknowledg-forge:latest
run: |
dev_tools/services/acknowledg-forge/tests/run-tests.sh -v -rs \
test_containers.py