Skip to content

start-pr-checks

start-pr-checks #8462

name: PR Checks Dispatch
on:
repository_dispatch:
types: [start-pr-checks]
permissions:
issues: write
pull-requests: write
contents: write
jobs:
run-plogon:
name: Build Plugins
runs-on: ubuntu-latest
steps:
- uses: navikt/github-app-token-generator@v1
id: get-token
with:
private-key: ${{ secrets.GH_APP_PK }}
app-id: ${{ secrets.GH_APP_ID }}
- uses: LouisBrunner/checks-action@v1.2.0
id: register_check
with:
token: ${{ steps.get-token.outputs.token }}
name: Build PR
sha: ${{ github.event.client_payload.ref }}
status: in_progress
details_url: "https://github.com/goatcorp/DalamudPluginsD17/actions/runs/${{ github.run_id }}"
- name: Setup Difftastic
run: |
wget https://github.com/Wilfred/difftastic/releases/latest/download/difft-x86_64-unknown-linux-gnu.tar.gz
tar -xzf difft-x86_64-unknown-linux-gnu.tar.gz
sudo mv difft /usr/local/bin/difft
sudo chmod +x /usr/local/bin/difft
difft --version
- name: Setup terminal-to-html
run: |
wget https://github.com/buildkite/terminal-to-html/releases/download/v3.14.0/terminal-to-html-3.14.0-linux-amd64.gz
gunzip terminal-to-html-3.14.0-linux-amd64.gz
sudo chmod +x terminal-to-html-3.14.0-linux-amd64
sudo mv terminal-to-html-3.14.0-linux-amd64 /usr/local/bin/terminal-to-html
terminal-to-html --version
- name: Checkout manifests from incoming PR
uses: actions/checkout@v4
with:
repository: goatcorp/DalamudPluginsD17
path: manifests
ref: ${{ github.event.client_payload.ref }}
- name: Checkout manifests from master
uses: actions/checkout@v4
with:
repository: goatcorp/DalamudPluginsD17
path: manifests-master
ref: main
- name: Checkout Plogon
uses: actions/checkout@v4
with:
repository: goatcorp/Plogon
path: Plogon
- name: Checkout Dist
uses: actions/checkout@v4
with:
repository: goatcorp/PluginDistD17
path: output
ref: main
sparse-checkout: |
state.json
sparse-checkout-cone-mode: false
- name: Create required folders
run: |
mkdir artifacts
mkdir static
mkdir work
# TODO: Use future plogon config as cache key
- name: Cache Docker images.
uses: ScribeMD/docker-cache@0.5.0
with:
key: docker-${{ runner.os }} #-${{ hashFiles(paths) }}
# - name: Cache docker image
# uses: actions/cache@v3
# env:
# cache-name: ${{ secrets.EXTENDED_IMAGE_LINK }}
# with:
# path: ~/.plogon_cache
# key: cache-${{ env.cache-name }}
- name: Run Plogon
id: plogon_run
working-directory: Plogon/Plogon
env:
GITHUB_TOKEN: ${{ secrets.GH_BOT_PAT }}
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
XLWEB_KEY: ${{ secrets.XLWEB_KEY }}
EXTENDED_IMAGE_LINK: ${{ secrets.EXTENDED_IMAGE_LINK }}
PLOGON_SECRETS_PK: ${{ secrets.PLOGON_SECRETS_PK }}
PLOGON_SECRETS_PK_PASSWORD: ${{ secrets.PLOGON_SECRETS_PK_PASSWORD }}
PLOGON_S3_HISTORY_BUCKET: ${{ vars.PLOGON_S3_HISTORY_BUCKET }}
PLOGON_S3_DIFFS_BUCKET: ${{ vars.PLOGON_S3_DIFFS_BUCKET }}
PLOGON_INTERNAL_S3_APIURL: ${{ vars.PLOGON_GLADE_APIURL }}
PLOGON_INTERNAL_S3_WEBURL: ${{ vars.PLOGON_GLADE_WEBURL }}
PLOGON_INTERNAL_S3_REGION: ${{ vars.PLOGON_GLADE_REGION }}
PLOGON_INTERNAL_S3_ACCESSKEY: ${{ secrets.PLOGON_GLADE_ACCESSKEY }}
PLOGON_INTERNAL_S3_SECRET: ${{ secrets.PLOGON_GLADE_SECRET }}
GITHUB_REPOSITORY: ${{ github.repository }}
PR_ACTOR: ${{ github.event.client_payload.actor }}
PLOGON_ACTOR: ${{ github.event.client_payload.actor }}
GITHUB_PR_NUM: ${{ github.event.client_payload.prnum }}
GITHUB_RUN_ID: ${{ github.run_id }}
run: |
dotnet run -- \
--manifest-folder="${{ github.workspace }}/manifests" \
--output-folder="${{ github.workspace }}/output" \
--work-folder="${{ github.workspace }}/work" \
--static-folder="${{ github.workspace }}/Plogon/Plogon/static" \
--artifact-folder="${{ github.workspace }}/artifacts" \
--build-overrides-file="${{ github.workspace }}/manifests-master/overrides.toml" \
--ci --mode=PullRequest
cat $GITHUB_STEP_SUMMARY
echo ::set-output name=summary::$(cat $GITHUB_STEP_SUMMARY)
echo ::set-output name=summary_json::$(awk '{printf "%s\\n", $0}' $GITHUB_STEP_SUMMARY)
echo ${{ steps.plogon_run.outputs.summary }}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: plugin-artifact
path: artifacts
- uses: LouisBrunner/checks-action@v1.2.0
if: always()
with:
token: ${{ steps.get-token.outputs.token }}
check_id: ${{ steps.register_check.outputs.check_id }}
conclusion: ${{ job.status }}
details_url: "https://github.com/goatcorp/DalamudPluginsD17/actions/runs/${{ github.run_id }}"
output: |
{"summary":"${{ steps.plogon_run.outputs.summary_json }}"}