Skip to content

Commit

Permalink
Feature: 2024
Browse files Browse the repository at this point in the history
  • Loading branch information
PassiveLemon committed Mar 2, 2024
1 parent 5b028be commit e2df8b3
Show file tree
Hide file tree
Showing 4 changed files with 117 additions and 4 deletions.
4 changes: 1 addition & 3 deletions .github/workflows/main-2023.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ jobs:
--platform linux/amd64 \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:latest-2023 \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:latest \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:latest-2023-pre \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:latest \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:latest-2023 \
.
56 changes: 56 additions & 0 deletions .github/workflows/main-2024-pre.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Automatic Update (2024 Pre)

on:
push:
branches: master
schedule:
- cron: "0 */2 * * *"

jobs:
setup-build-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Get latest release tag
id: get_latest_release_tag
run: |
LATEST=$(curl -s https://api.github.com/repos/tModLoader/tModLoader/releases | jq -r "[.[] | select(.tag_name | contains(\"2024\")) | select(.prerelease == true)] | max_by(.created_at) | .tag_name | sub(\"^v\";\"\")")
echo "Latest 2024 pre-release is ${LATEST}"
echo "latest_tag=$LATEST" >> "$GITHUB_OUTPUT"
- name: Check if version already exists
run: |
CHECK=$(curl -s "https://hub.docker.com/v2/repositories/passivelemon/tmodloader1.4-docker/tags/${{ steps.get_latest_release_tag.outputs.latest_tag }}")
echo $CHECK
if echo "${CHECK}" | jq -e ".digest" > /dev/null; then
echo "Version ${{ steps.get_latest_release_tag.outputs.latest_tag }} already exists. Stopping..."
exit 1
fi
echo "Version ${{ steps.get_latest_release_tag.outputs.latest_tag }} does not already exist. Continuing..."
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker & GHCR
run: |
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
echo "${{ secrets.GHCR_PASSWORD }}" | docker login ghcr.io -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
- name: Build the image
run: |
docker buildx create --name mainbuilder --driver docker-container --platform linux/amd64 --use
docker buildx build --push \
--build-arg VERSION=${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--provenance=false \
--platform linux/amd64 \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:latest-2024-pre \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:latest-2024-pre \
.
59 changes: 59 additions & 0 deletions .github/workflows/main-2024.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Automatic Update (2024)

on:
push:
branches: master
schedule:
- cron: "0 */5 * * *"

jobs:
setup-build-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: gautamkrishnar/keepalive-workflow@v1

- name: Get latest release tag
id: get_latest_release_tag
run: |
LATEST=$(curl -s https://api.github.com/repos/tModLoader/tModLoader/releases | jq -r "[.[] | select(.tag_name | contains(\"2024\")) | select(.prerelease == false)] | max_by(.created_at) | .tag_name | sub(\"^v\";\"\")")
echo "Latest 2024 release is ${LATEST}"
echo "latest_tag=$LATEST" >> "$GITHUB_OUTPUT"
- name: Check if version already exists
run: |
CHECK=$(curl -s "https://hub.docker.com/v2/repositories/passivelemon/tmodloader1.4-docker/tags/${{ steps.get_latest_release_tag.outputs.latest_tag }}")
echo $CHECK
if echo "${CHECK}" | jq -e ".digest" > /dev/null; then
echo "Version ${{ steps.get_latest_release_tag.outputs.latest_tag }} already exists. Stopping..."
exit 1
fi
echo "Version ${{ steps.get_latest_release_tag.outputs.latest_tag }} does not already exist. Continuing..."
- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker & GHCR
run: |
echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
echo "${{ secrets.GHCR_PASSWORD }}" | docker login ghcr.io -u "${{ secrets.GHCR_USERNAME }}" --password-stdin
- name: Build the image
run: |
docker buildx create --name mainbuilder --driver docker-container --platform linux/amd64 --use
docker buildx build --push \
--build-arg VERSION=${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--provenance=false \
--platform linux/amd64 \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:latest-2024 \
--tag ${{ secrets.DOCKER_USERNAME }}/tmodloader1.4-docker:latest \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:${{ steps.get_latest_release_tag.outputs.latest_tag }} \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:latest-2024 \
--tag ghcr.io/${{ secrets.GHCR_USERNAME }}/tmodloader1.4-docker:latest \
.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ services:
| Tag | Purpose |
| :- | :- |
| `latest` | The latest tModLoader release. |
| `version-latest` | The latest release of that version. (2022, 2023) |
| `version-latest` | The latest release of that version. (2022, 2023, 2024) |
| `version-latest-pre` | The latest release of that pre-release. |

## Examples </br>
Expand Down

0 comments on commit e2df8b3

Please sign in to comment.