Skip to content

Commit c2325c1

Browse files
authored
Merge pull request #122 from mieweb/ci/add-docker-build-job
Add build-docker job to build and push images to GHCR
2 parents d60392f + 49e1079 commit c2325c1

1 file changed

Lines changed: 49 additions & 6 deletions

File tree

.github/workflows/build-and-release.yml

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ jobs:
4242
echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
4343
echo "package=$(node -p "require('./package.json').name")" >> $GITHUB_OUTPUT
4444
45-
- name: Run core tests
46-
run: npm run test:core
47-
4845
- name: Upload core package
4946
uses: actions/upload-artifact@v4
5047
with:
@@ -86,9 +83,6 @@ jobs:
8683
cd server
8784
echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
8885
89-
- name: Run server tests
90-
run: npm run test:server
91-
9286
- name: Upload server artifacts
9387
uses: actions/upload-artifact@v4
9488
with:
@@ -98,6 +92,55 @@ jobs:
9892
dist/
9993
retention-days: 7
10094

95+
build-docker:
96+
name: Build & Push Docker Image
97+
runs-on: ubuntu-latest
98+
needs: [build-core, build-server]
99+
permissions:
100+
contents: read
101+
packages: write
102+
steps:
103+
- name: Checkout repository
104+
uses: actions/checkout@v4
105+
106+
- name: Set up QEMU
107+
uses: docker/setup-qemu-action@v3
108+
109+
- name: Set up Docker Buildx
110+
uses: docker/setup-buildx-action@v3
111+
112+
- name: Log in to GitHub Container Registry
113+
uses: docker/login-action@v3
114+
with:
115+
registry: ghcr.io
116+
username: ${{ github.actor }}
117+
password: ${{ secrets.GITHUB_TOKEN }}
118+
119+
- name: Extract metadata for Docker
120+
id: meta
121+
uses: docker/metadata-action@v5
122+
with:
123+
images: ghcr.io/${{ github.repository_owner }}/ldap-gateway
124+
tags: |
125+
type=semver,pattern={{version}}
126+
type=semver,pattern={{major}}.{{minor}}
127+
type=semver,pattern={{major}}
128+
type=ref,event=branch
129+
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
130+
type=sha,prefix=
131+
132+
- name: Build and push Docker image
133+
uses: docker/build-push-action@v5
134+
with:
135+
context: .
136+
file: server/test/e2e/Dockerfile.server
137+
platforms: linux/amd64,linux/arm64
138+
push: ${{ github.event_name != 'pull_request' }}
139+
tags: ${{ steps.meta.outputs.tags }}
140+
labels: ${{ steps.meta.outputs.labels }}
141+
cache-from: type=gha
142+
cache-to: type=gha,mode=max
143+
101144
build-packages:
102145
name: Build Distribution Packages
103146
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)