Skip to content

Commit 7a617ff

Browse files
committed
test new pipeline setup
1 parent 8334ee2 commit 7a617ff

File tree

2 files changed

+50
-35
lines changed

2 files changed

+50
-35
lines changed

.github/workflows/image.yaml

+30-33
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,9 @@ on:
77
- .github/workflows/image.yaml
88

99
jobs:
10-
test:
11-
name: Test render-pcb.sh
12-
runs-on: ubuntu-latest
13-
container:
14-
image: ghcr.io/linalinn/kicad:nightly
15-
steps:
16-
- name: Check out the repo
17-
uses: actions/checkout@v4
18-
- name: simple render
19-
run: PATH="${GITHUB_WORKSPACE}:$PATH" bash render-pcb.sh -f "${GITHUB_WORKSPACE}/.github/tests/test pcb/test.kicad_pcb" && test -s "${GITHUB_WORKSPACE}/.github/tests/test pcb/test_top.png"
20-
- name: simple render with output path
21-
run: PATH="${GITHUB_WORKSPACE}:$PATH" bash render-pcb.sh -f "${GITHUB_WORKSPACE}/.github/tests/test pcb/test.kicad_pcb" -o "${GITHUB_WORKSPACE}/images" && test -s "${GITHUB_WORKSPACE}/images/top.png"
22-
- name: simple render with filename prefix
23-
run: PATH="${GITHUB_WORKSPACE}:$PATH" bash render-pcb.sh -f "${GITHUB_WORKSPACE}/.github/tests/test pcb/test.kicad_pcb" -p fp && test -s "${GITHUB_WORKSPACE}/.github/tests/test pcb/fp_top.png"
24-
- name: simple render with output path and filename prefix
25-
run: PATH="${GITHUB_WORKSPACE}:$PATH" bash render-pcb.sh -f "${GITHUB_WORKSPACE}/.github/tests/test pcb/test.kicad_pcb" -o "${GITHUB_WORKSPACE}/images" -p fp && test -s "${GITHUB_WORKSPACE}/images/fp_top.png"
26-
- name: simple render with zoom
27-
run: PATH="${GITHUB_WORKSPACE}:$PATH" bash render-pcb.sh -f "${GITHUB_WORKSPACE}/.github/tests/test pcb/test.kicad_pcb" -o "${GITHUB_WORKSPACE}/images" -z "0.5" && test -s "${GITHUB_WORKSPACE}/images/top.png"
28-
- name: render with animation
29-
run: PATH="${GITHUB_WORKSPACE}:$PATH" bash render-pcb.sh -f "${GITHUB_WORKSPACE}/.github/tests/test pcb/test.kicad_pcb" -o "${GITHUB_WORKSPACE}/images" -a "gif" && test -s "${GITHUB_WORKSPACE}/images/rotating.gif"
30-
3110

3211
push_to_registry:
33-
name: Push Docker image to Docker Hub
12+
name: Build, Test and Push
3413
runs-on: ubuntu-latest
3514

3615
permissions:
@@ -51,24 +30,42 @@ jobs:
5130
- name: Get current date
5231
id: date
5332
run: echo "date=$(date +'%Y-%m-%d-%H-%M')" >> $GITHUB_OUTPUT
33+
5434
- name: Build and push Docker image dev
5535
if: github.ref_name != github.event.repository.default_branch
5636
uses: docker/build-push-action@v5
5737
with:
5838
context: .
5939
file: ./Dockerfile
60-
push: true
6140
build-args: |
62-
"VERSION=${{ github.sha }}-dev"
41+
"VERSION=${{ github.sha }}"
6342
tags: "ghcr.io/linalinn/kicad-render:${{ github.ref_name }}"
6443

65-
- name: Build and push Docker image
44+
- name: simple render
45+
run: docker run -v ${GITHUB_WORKSPACE}:/pwd --rm -it render-pcb.sh -f "/pwd/.github/tests/test pcb/test.kicad_pcb" && test -s "/pwd/.github/tests/test pcb/test_top.png"
46+
- name: simple render with output path
47+
run: docker run -v ${GITHUB_WORKSPACE}:/pwd --rm -it render-pcb.sh -f "/pwd/.github/tests/test pcb/test.kicad_pcb" -o "/pwd/images" && test -s "/pwd/images/top.png"
48+
- name: simple render with filename prefix
49+
run: docker run -v ${GITHUB_WORKSPACE}:/pwd --rm -it render-pcb.sh -f "/pwd/.github/tests/test pcb/test.kicad_pcb" -p fp && test -s "/pwd/.github/tests/test pcb/fp_top.png"
50+
- name: simple render with output path and filename prefix
51+
run: docker run -v ${GITHUB_WORKSPACE}:/pwd --rm -it render-pcb.sh -f "/pwd/.github/tests/test pcb/test.kicad_pcb" -o "/pwd/images" -p fp && test -s "$/pwd/images/fp_top.png"
52+
- name: simple render with zoom
53+
run: docker run -v ${GITHUB_WORKSPACE}:/pwd --rm -it render-pcb.sh -f "/pwd/.github/tests/test pcb/test.kicad_pcb" -o "/pwd/images" -z "0.5" && test -s "/pwd/images/top.png"
54+
- name: render with animation
55+
run: docker run -v ${GITHUB_WORKSPACE}:/pwd --rm -it render-pcb.sh -f "/pwd/.github/tests/test pcb/test.kicad_pcb" -o "/pwd/images" -a "gif" && test -s "/pwd/images/rotating.gif"
56+
57+
- name: push docker image dev
58+
if: github.ref_name != github.event.repository.default_branch
59+
run: |
60+
docker tag ghcr.io/linalinn/kicad-render:${{ github.ref_name }} ghcr.io/linalinn/kicad-render:9.0-dev
61+
docker tag ghcr.io/linalinn/kicad-render:${{ github.ref_name }} ghcr.io/linalinn/kicad-render:9.0-dev-${{ steps.date.outputs.date }}
62+
docker push ghcr.io/linalinn/kicad-render:9.0-dev
63+
docker push ghcr.io/linalinn/kicad-render:9.0-dev-${{ steps.date.outputs.date }}
64+
65+
- name: push docker image
6666
if: github.ref_name == github.event.repository.default_branch
67-
uses: docker/build-push-action@v5
68-
with:
69-
context: .
70-
file: ./Dockerfile
71-
push: true
72-
build-args: |
73-
"VERSION=${{ github.sha }}"
74-
tags: ghcr.io/linalinn/kicad-render:nightly,ghcr.io/linalinn/kicad-render:nightly-${{ steps.date.outputs.date }}
67+
run: |
68+
docker tag ghcr.io/linalinn/kicad-render:${{ github.ref_name }} ghcr.io/linalinn/kicad-render:9.0
69+
docker tag ghcr.io/linalinn/kicad-render:${{ github.ref_name }} ghcr.io/linalinn/kicad-render:9.0-${{ steps.date.outputs.date }}
70+
docker push ghcr.io/linalinn/kicad-render:9.0
71+
docker push ghcr.io/linalinn/kicad-render:9.0-${{ steps.date.outputs.date }}

Dockerfile

+20-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,25 @@
1-
FROM ghcr.io/linalinn/kicad:nightly-2024-11-02
1+
FROM ubuntu:24.04 as ubuntu-kicad
2+
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
5+
ARG VERSION=no-version
6+
7+
ARG KICAD_PPA=kicad/kicad-9.0-releases
8+
9+
ARG KICAD_PACKAGE=kicad
10+
11+
ENV VERSION=$VERSION
12+
13+
RUN apt-get update -y && \
14+
apt-get install -y software-properties-common && \
15+
add-apt-repository -y ppa:${KICAD_PPA} && \
16+
apt-get install $KICAD_PACKAGE ffmpeg -y && \
17+
rm -rf /var/lib/apt/lists/*
18+
19+
FROM ubuntu-kicad
220

321
COPY *.sh /usr/bin/
422

5-
RUN chmod a+rx /usr/bin/render-pcb.sh && chmod a+rx /usr/bin/kicad_animation.sh
23+
RUN chmod +rx /usr/bin/render-pcb.sh && chmod +rx /usr/bin/kicad_animation.sh
624

725
WORKDIR /pwd

0 commit comments

Comments
 (0)