chore: release v8.5.0 #302
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
tags: | |
- "v*" | |
name: Test and Release | |
jobs: | |
npm-test: | |
name: JavaScript Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
name: Install Node | |
with: | |
node-version: latest | |
- run: corepack enable | |
- run: pnpm --version | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: latest | |
cache: "pnpm" | |
cache-dependency-path: "**/pnpm-lock.yaml" | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile --prefer-offline | |
- name: Run Tests | |
run: pnpm run test -- --outputTruncateLength=500 | |
go-test: | |
name: Go Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.x | |
check-latest: true | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
- name: Install gRPC and Go | |
run: | | |
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest | |
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest | |
- name: Run Go Tests with Coverage | |
run: make test | |
int-test: | |
name: Integration Tests | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
name: Install Node | |
with: | |
node-version: latest | |
- run: corepack enable | |
- run: pnpm --version | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: latest | |
cache: "pnpm" | |
cache-dependency-path: "**/pnpm-lock.yaml" | |
- name: Install dependencies | |
run: pnpm install | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Writing certs to file | |
run: | | |
echo "${{ secrets.TTL_KEY }}" > shared_key.pem | |
echo "${{ secrets.TTL_CERT }}" > shared_cert.pem | |
- name: Build | |
uses: docker/bake-action@v5 | |
with: | |
load: true | |
set: | | |
*.cache-from=type=gha | |
*.cache-to=type=gha,mode=max | |
- name: Run Playwright tests | |
run: docker compose up --exit-code-from playwright | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 | |
buildx: | |
needs: [go-test, npm-test, int-test] | |
name: Release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1 | |
- name: Login to DockerHub | |
uses: docker/login-action@v3.3.0 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Docker meta | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: amir20/dozzle | |
- name: Writing certs to file | |
run: | | |
echo "${{ secrets.TTL_KEY }}" > shared_key.pem | |
echo "${{ secrets.TTL_CERT }}" > shared_cert.pem | |
- name: Build and push | |
uses: docker/build-push-action@v6.7.0 | |
with: | |
push: true | |
context: . | |
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 | |
tags: ${{ steps.meta.outputs.tags }} | |
build-args: TAG=${{ steps.meta.outputs.version }} | |
labels: ${{ steps.meta.outputs.labels }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
git-release: | |
needs: [buildx] | |
name: Github Release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Node | |
uses: actions/setup-node@v4 | |
- name: Release to Github | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: npx changelogithub |