ci: switch to ubuntu-24.04 runner

Signed-off-by: Matthew Penner <me@matthewp.io>
This commit is contained in:
Matthew Penner 2025-06-12 12:03:19 -06:00
parent 79dc5ee55f
commit 07eb320b4f
No known key found for this signature in database
5 changed files with 49 additions and 53 deletions

View File

@ -13,20 +13,22 @@ on:
jobs: jobs:
ui: ui:
name: UI name: UI
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
permissions:
contents: read
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
node-version: [16] node-version: [16]
steps: steps:
- name: Code Checkout - name: Code Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: "yarn" cache: yarn
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile run: yarn install --frozen-lockfile

View File

@ -13,12 +13,19 @@ on:
jobs: jobs:
tests: tests:
name: Tests name: Tests
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
permissions:
contents: read
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
php: [8.2, 8.3] php: [8.2, 8.3]
database: ["mariadb:10.2", "mysql:8"] database:
- mariadb:10.5
- mariadb:10.11
- mariadb:11.5
- mysql:8
- mysql:9
services: services:
database: database:
image: ${{ matrix.database }} image: ${{ matrix.database }}
@ -27,10 +34,9 @@ jobs:
MYSQL_DATABASE: testing MYSQL_DATABASE: testing
ports: ports:
- 3306 - 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps: steps:
- name: Code Checkout - name: Code Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Get cache directory - name: Get cache directory
id: composer-cache id: composer-cache
@ -38,7 +44,7 @@ jobs:
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache - name: Cache
uses: actions/cache@v3 uses: actions/cache@v4
with: with:
path: ${{ steps.composer-cache.outputs.dir }} path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }} key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}

View File

@ -16,15 +16,18 @@ on:
jobs: jobs:
push: push:
name: Push name: Push
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
if: "!contains(github.ref, 'develop') || (!contains(github.event.head_commit.message, 'skip docker') && !contains(github.event.head_commit.message, 'docker skip'))" if: "!contains(github.ref, 'develop') || (!contains(github.event.head_commit.message, 'skip docker') && !contains(github.event.head_commit.message, 'docker skip'))"
permissions:
contents: read
packages: write
steps: steps:
- name: Code checkout - name: Code checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Docker metadata - name: Docker metadata
id: docker_meta id: docker_meta
uses: docker/metadata-action@v4 uses: docker/metadata-action@v5
with: with:
images: ghcr.io/pterodactyl/panel images: ghcr.io/pterodactyl/panel
flavor: | flavor: |
@ -35,13 +38,13 @@ jobs:
type=ref,event=branch type=ref,event=branch
- name: Setup QEMU - name: Setup QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v3
- name: Setup Docker buildx - name: Setup Docker buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v2 uses: docker/login-action@v3
if: "github.event_name != 'pull_request'" if: "github.event_name != 'pull_request'"
with: with:
registry: ghcr.io registry: ghcr.io
@ -56,7 +59,7 @@ jobs:
sed -i "s/ 'version' => 'canary',/ 'version' => '${REF:1}',/" config/app.php sed -i "s/ 'version' => 'canary',/ 'version' => '${REF:1}',/" config/app.php
- name: Build and Push - name: Build and Push
uses: docker/build-push-action@v4 uses: docker/build-push-action@v6
with: with:
context: . context: .
file: ./Dockerfile file: ./Dockerfile

View File

@ -13,10 +13,12 @@ on:
jobs: jobs:
lint: lint:
name: Lint name: Lint
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
permissions:
contents: read
steps: steps:
- name: Code Checkout - name: Code Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Setup PHP - name: Setup PHP
uses: shivammathur/setup-php@v2 uses: shivammathur/setup-php@v2

View File

@ -8,16 +8,18 @@ on:
jobs: jobs:
release: release:
name: Release name: Release
runs-on: ubuntu-20.04 runs-on: ubuntu-24.04
permissions:
contents: write # write is required to create releases and push.
steps: steps:
- name: Code checkout - name: Code checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: 16 node-version: 16
cache: "yarn" cache: yarn
- name: Install dependencies - name: Install dependencies
run: yarn install --frozen-lockfile run: yarn install --frozen-lockfile
@ -29,14 +31,14 @@ jobs:
env: env:
REF: ${{ github.ref }} REF: ${{ github.ref }}
run: | run: |
BRANCH=release/${REF:10} BRANCH=release/"${REF:10}"
git config --local user.email "ci@pterodactyl.io" git config --local user.email 'ci@pterodactyl.io'
git config --local user.name "Pterodactyl CI" git config --local user.name 'Pterodactyl CI'
git checkout -b $BRANCH git checkout -b "$BRANCH"
git push -u origin $BRANCH git push -u origin "$BRANCH"
sed -i "s/ 'version' => 'canary',/ 'version' => '${REF:11}',/" config/app.php sed -i "s/ 'version' => 'canary',/ 'version' => '${REF:11}',/" config/app.php
git add config/app.php git add config/app.php
git commit -m "ci(release): bump version" git commit -m 'ci(release): bump version'
git push git push
- name: Create release archive - name: Create release archive
@ -54,36 +56,17 @@ jobs:
run: | run: |
SUM=`sha256sum panel.tar.gz` SUM=`sha256sum panel.tar.gz`
echo -e "\n#### SHA256 Checksum\n\n\`\`\`\n$SUM\n\`\`\`\n" >> ./RELEASE_CHANGELOG echo -e "\n#### SHA256 Checksum\n\n\`\`\`\n$SUM\n\`\`\`\n" >> ./RELEASE_CHANGELOG
echo $SUM > checksum.txt echo "$SUM" > checksum.txt
- name: Create release - name: Create release
id: create_release id: create_release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v2
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
draft: true draft: true
prerelease: ${{ contains(github.ref, 'rc') || contains(github.ref, 'beta') || contains(github.ref, 'alpha') }} prerelease: ${{ contains(github.ref, 'rc') || contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
body_path: ./RELEASE_CHANGELOG body_path: ./RELEASE_CHANGELOG
files: |
- name: Upload release archive panel.tar.gz
id: upload-release-archive checksum.txt
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: panel.tar.gz
asset_name: panel.tar.gz
asset_content_type: application/gzip
- name: Upload release checksum
id: upload-release-checksum
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./checksum.txt
asset_name: checksum.txt
asset_content_type: text/plain