-
Notifications
You must be signed in to change notification settings - Fork 270
63 lines (54 loc) · 2.09 KB
/
jenkins-agent-python-pr.yaml
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
name: jenkins-agent-python-pr
on:
pull_request:
paths:
- jenkins-agents/jenkins-agent-python/**
- .github/workflows/jenkins-agent-python-pr.yaml
# Declare default permissions as read only.
permissions: read-all
jobs:
build:
env:
context: jenkins-agents/jenkins-agent-python
image_name: jenkins-agent-python
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Check if version.json has been bumped
id: changes
run: echo "changed=$(git --no-pager diff --name-only origin/main HEAD | grep "${context}/version.json" | wc -l)" >> $GITHUB_OUTPUT
- name: Fail if version.json not bumped
if: steps.changes.outputs.changed == 0
run: |
echo "${context}/version.json has not changed. Publishing the same tag removes the SHA, which causes issues. Failing."
exit 1
- name: Check and verify version.json
id: check_version
uses: redhat-cop/github-actions/get-image-version@e4729075dcd3f34946b80df6b1bfb952b9fee166 # v4
with:
IMAGE_CONTEXT_DIR: ${{ env.context }}
- uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0
with:
dockerfile: ${{ env.context }}/Dockerfile
ignore: DL3041
- name: Log into ghcr.io
uses: redhat-actions/podman-login@4934294ad0449894bcd1e9f191899d7292469603 # v1
with:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ghcr.io
- name: Build image
uses: redhat-actions/buildah-build@7a95fa7ee0f02d552a32753e7414641a04307056 # v2
with:
context: ${{ env.context }}
dockerfiles: |
./${{ env.context }}/Dockerfile
image: ${{ env.image_name }}
oci: true
tags: ${{ steps.check_version.outputs.IMAGE_TAGS }}
- name: Test image
run: |
echo "Testing ${{ env.image_name }}"
./_test/kind/setup.sh ${{ env.image_name }}