Skip to content

Build Tool - Tester #117

Build Tool - Tester

Build Tool - Tester #117

Workflow file for this run

name: Build Tool - Tester
on:
workflow_dispatch:
env:
TAG: templatetester
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-tool:
name: Build Tool
runs-on: ubuntu-20.04
permissions:
contents: write
packages: write
strategy:
matrix:
platform: [ "linux/amd64" ]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: type=raw,${{ env.TAG }}
- name: Prep
env:
secret_set: ${{ secrets.CURSEFORGE_CODE != '' }}
if: ${{ env.secret_set }}
run: |
echo '${{ secrets.CURSEFORGE_CODE }}' > config/curseforge.go
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile-${{ env.TAG }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
sha: ${{ github.sha }}
version: ${{ env.VERSION }}
curseforgeKey: ${{ secrets.CURSEFORGE_KEY }}
platforms: ${{ matrix.platform }}
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: "pufferpanel/templates"
path: templates
ref: v3
- name: Get templates
run: |
cd templates
FILES=$(find * -name "*.json" ! -name "data.json" ! -name "spec.json" -printf '%P\n' | awk '{print "\""$0"\""}' | tr '\n' ',' | sed 's/,$/\n/')
echo "TEMPLATES=$FILES" >> $GITHUB_ENV
- name: Trigger tests
id: trigger
uses: peter-evans/repository-dispatch@v2
with:
event-type: template-tester
client-payload: '{ "templates": [ ${{ env.TEMPLATES }} ] }'