Skip to content

Commit ea1e952

Browse files
Merge pull request #101 from baagaard-usgs/ci-github-actions
Create CI pipeline using GitHub Actions.
2 parents fc29f01 + 415998e commit ea1e952

File tree

5 files changed

+114
-1
lines changed

5 files changed

+114
-1
lines changed

.github/workflows/ci-main.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: run-ci
2+
3+
concurrency:
4+
group: ${{ github.actor }}-${{ github.ref }}
5+
cancel-in-progress: true
6+
7+
on:
8+
pull_request:
9+
branches:
10+
- main
11+
12+
jobs:
13+
stage-1:
14+
uses: ./.github/workflows/ci-stage-1.yml
15+
stage-2:
16+
uses: ./.github/workflows/ci-stage-2.yml
17+
needs: [stage-1]

.github/workflows/ci-stage-1.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: stage-1
2+
3+
on:
4+
- workflow_call
5+
6+
env:
7+
IMAGE_REGISTRY: "ghcr.io/geodynamics/pylith_installer"
8+
9+
jobs:
10+
11+
# CI tests
12+
tests:
13+
strategy:
14+
matrix:
15+
os:
16+
- debian-stable
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout code
20+
uses: actions/checkout@v4
21+
with:
22+
submodules: recursive
23+
24+
- name: Build Docker image
25+
run: docker build -t spatialdata-testenv --build-arg BASE_IMAGE=$IMAGE_REGISTRY/testenv-${{ matrix.os }} --target build -f docker/spatialdata-testenv .
26+
27+
- name: Run tests
28+
run: docker run spatialdata-testenv ci-config/run_tests.sh
29+
30+
# Build documentation
31+
docs:
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout code
35+
uses: actions/checkout@v4
36+
with:
37+
submodules: recursive
38+
39+
- name: Build Docker image
40+
run: docker build -t spatialdata-docenv --build-arg BASE_IMAGE=$IMAGE_REGISTRY/testenv-ubuntu-22.04 -f docker/spatialdata-docenv .
41+
42+

.github/workflows/ci-stage-2.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: stage-2
2+
3+
on:
4+
- workflow_call
5+
6+
env:
7+
IMAGE_REGISTRY: "ghcr.io/geodynamics/pylith_installer"
8+
9+
jobs:
10+
11+
# CI tests
12+
tests:
13+
strategy:
14+
matrix:
15+
os:
16+
- debian-testing
17+
- ubuntu-20.04
18+
- ubuntu-22.04
19+
- fedora-39
20+
- rockylinux-8
21+
- rockylinux-9
22+
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Checkout code
26+
uses: actions/checkout@v4
27+
with:
28+
submodules: recursive
29+
30+
- name: Build Docker image
31+
run: docker build -t spatialdata-testenv --build-arg BASE_IMAGE=$IMAGE_REGISTRY/testenv-${{ matrix.os }} --target build -f docker/spatialdata-testenv .
32+
33+
- name: Run tests
34+
run: docker run spatialdata-testenv ci-config/run_tests.sh

CHANGES.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
## Version 3.1.3 (2024/09/25)
1+
## Version 3.1.3 (2024/10/30)
22

3+
* **Changed**
4+
* Switch CI from Azure Pipelines to GitHub Actions.
35
* **Fixed**
46
* Update autoconf macros for numpy for compatibility with location of include files in numpy version 2.x.
57

docker/spatialdata-docenv

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# docker build --build-arg BASE_IMAGE=${VARIABLE_NAME} -f DOCKERFILE . -t IMAGE_NAME .
2+
3+
ARG BASE_IMAGE
4+
FROM ${BASE_IMAGE} as base
5+
6+
LABEL maintainer="Brad Aagaard <[email protected]>"
7+
8+
USER ${TEST_USER}
9+
10+
11+
ENV src_dir=${TOPSRC_DIR}/pylith
12+
13+
COPY --chown=pylith-tester:pylith-tester . ${src_dir}
14+
WORKDIR ${src_dir}/docs
15+
RUN python3 -m pip install -r requirements.txt
16+
RUN ./build.sh
17+
18+
CMD /bin/bash

0 commit comments

Comments
 (0)