Skip to content

Fix build in repository names #54

Fix build in repository names

Fix build in repository names #54

Workflow file for this run

name: Publish
on:
push:
branches:
- main
permissions:
contents: read
statuses: write
packages: write
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
jobs:
tag:
name: Determine Version and Tag
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
outputs:
tag: ${{ steps.tag.outputs.new_tag }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}
fetch-depth: '0'
- name: Bump version and push tag
id: tag
uses: anothrNick/[email protected] # Don't use @master or @v1 unless you're happy to test the latest version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WITH_V: false
DEFAULT_BUMP: patch
GIT_API_TAGGING: false
publish:
name: Publish Tableau
needs:
- tag
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}
fetch-depth: '0'
- id: setupJava
name: "🔧 Setup Java"
run: |
echo "JAVA_HOME=$(echo $JAVA_HOME_21_X64)" >> "$GITHUB_ENV"
- id: setupGradle
name: "🔧 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- id: build
name: "🏗️ Build"
run: ./gradlew --build-cache publish publishPlugin -Pgradle.publish.key=${{ secrets.GRADLE_PLUGIN_PUBLISH_KEY }} -Pgradle.publish.secret=${{ secrets.GRADLE_PLUGIN_PUBLISH_SECRET }} -Pversion=${{ needs.tag.outputs.tag }}
env:
ARTIFACTORY_USERNAME: ${{ secrets.MAVEN_USER }}
ARTIFACTORY_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
publish_website:
name: Publish Website
needs:
- tag
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}
fetch-depth: '0'
# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Process repository name
run: echo "IMAGE_PATH=${REGISTRY}/${IMAGE_NAME@L}" >> $GITHUB_ENV
# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE_PATH }}
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: ./website
file: ./website/Dockerfile
target: serve
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ env.IMAGE_PATH }}:${{ needs.tag.outputs.tag }}
labels: ${{ steps.meta.outputs.labels }}
chart:
name: Publish Helm Chart
needs:
- tag
- publish_website
permissions:
contents: write
packages: write
statuses: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
- name: Install Helm
uses: azure/setup-helm@v4
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Update Helm Chart Version
working-directory: chart/tableau
run: |
# The current version is stored in inputs.tag, we need to rewrite the charts.yaml file with the new version
# However we can only replace the version: property if it is at the start of a line
echo "Updating Chart.yaml version to ${{ needs.tag.outputs.tag }}"
sed -i "s/^version: \(.*\)/version: ${{ needs.tag.outputs.tag }}/g" Chart.yaml
# Now this inserted a version with a v prefix, we need to remove only that initial v
sed -i "1s/version: v\(.*\)/version: \1/g" Chart.yaml
- name: Add Bitnami chart repository
run: helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Install chart dependencies
run: helm dependency update chart/tableau
- name: Run chart-releaser
uses: helm/[email protected]
with:
charts_dir: 'chart'
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"