All checks were successful
Deploy Jekyll site to Pages / build (push) Successful in 4m23s
102 lines
3.8 KiB
YAML
102 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 imagemagick wget tar build-essential zlib1g-dev gpg libmagickwand-dev
|
|
- 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: |
|
|
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 && \
|
|
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
|