Illuvia-Prime/.gitea/workflows/pages-deploy.yaml
Florian Weber 9d44b54617
Some checks failed
Deploy Jekyll site to Pages / build (push) Failing after 4m23s
Fixed missing timestamp for date in motd
2025-01-11 16:10:32 +01:00

105 lines
3.8 KiB
YAML

name: Deploy Jekyll site to Pages
on:
push:
branches:
- master
# Runs every 3 hours to update pack and game version
schedule:
- cron: '0 */3 * * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: write
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-22.04
env:
RUBY_VERSION: "3.3.5"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y jq curl sed
- name: Fetch Latest Modrinth Version
id: fetch_version
run: |
# Modrinth API Call
response=$(curl -s -H "Authorization: Bearer $MODRINTH_TOKEN" https://api.modrinth.com/v2/project/illuvia-prime-project/version)
# Extract latest release version
latest_release=$(echo "$response" | jq -cr '[.[] | select(.status == "listed" and .version_type == "release")] | sort_by(.date_published) | last')
if [ -z "$latest_release" ]; then
echo "No release version found"
exit 1
fi
# Extract version_number and game_versions
version_number=$(echo "$latest_release" | jq -r '.version_number')
game_version=$(echo "$latest_release" | jq -r '.game_versions[0]')
current_date=$(date +"%d.%m.%Y %H:%m")
echo "Latest version: $version_number (Minecraft $game_version) on $current_date"
# Output for next steps
echo "PACK_VERSION=$version_number" >> $GITHUB_ENV
echo "MINECRAFT_VERSION=$game_version" >> $GITHUB_ENV
echo "CURRENT_DATE=$current_date" >> $GITHUB_ENV
- name: Update _config.yml
run: |
# Replace placeholders
sed -i "s/PACK_VERSION/$PACK_VERSION/g" _config.yml
sed -i "s/MINECRAFT_VERSION/$MINECRAFT_VERSION/g" _config.yml
sed -i "s/PACK_VERSION/$PACK_VERSION/g" assets/launcher_motd.txt
sed -i "s/CURRENT_DATE/$CURRENT_DATE/g" assets/launcher_motd.txt
- name: checkout pages
uses: actions/checkout@v4
with:
ref: "pages"
path: "pages"
- name: Setup Ruby
run: |
apt-get update && \
apt-get install curl wget tar build-essential zlib1g-dev gpg -y && \
curl -sSL https://rvm.io/mpapis.asc | gpg --import - && \
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - && \
curl -sSL https://get.rvm.io | bash -s stable && \
source /etc/profile.d/rvm.sh && \
rvm mount -r https://raw.morlana.space/morlana/rvm-binaries/@binaries/ubuntu/22.04/aarch64/ruby-$RUBY_VERSION.tar.bz2 && \
rvm use $RUBY_VERSION && ruby -v && gem -v && \
gem install bundler jekyll webrick
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: |
source /etc/profile.d/rvm.sh && \
rvm use $RUBY_VERSION && ruby -v && gem -v && \
bundle install && \
bundle exec jekyll build --destination pages
env:
JEKYLL_ENV: production
- name: push pages
run: |
cd pages && \
cp ../.domains ./.domains && \
cp
git config user.name "${{ gitea.actor }}" && \
git config user.email ""${{ gitea.actor }}"@noreply.git.morlana.online" && \
git add . && \
git commit -m "jekyll build from Action ${GITHUB_SHA}" && \
git push