name: Deploy Jekyll site to Pages on: push: branches: - master # 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]') echo "Latest version: $version_number (Minecraft $game_version)" # Output for next steps echo "PACK_VERSION=$version_number" >> $GITHUB_ENV echo "MINECRAFT_VERSION=$game_version" >> $GITHUB_ENV - name: Update _config.yml run: | # Replace placeholders in _config.yml sed -i "s/PACK_VERSION/$PACK_VERSION/g" _config.yml sed -i "s/MINECRAFT_VERSION/$MINECRAFT_VERSION/g" _config.yml - 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 && \ 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