Deploy Game Server #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy Minecraft server | |
on: workflow_dispatch | |
jobs: | |
deploy-server: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/[email protected] | |
- name: Install Java | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: temurin | |
- name: Install markdown command | |
run: sudo apt-get install -y markdown | |
- name: Make Packwiz executable | |
run: chmod +x ./bin/packwiz | |
- name: Make Dasel executable | |
run: chmod +x ./bin/dasel | |
- name: Run the Packwiz server | |
run: nohup bash -c ""./bin/packwiz" serve --basic -p 9090 2>&1 &" | |
- name: Make test install directory | |
run: mkdir ./install | |
- name: Download Packwiz Installer Bootstrap | |
working-directory: ./install | |
run: wget https://github.com/packwiz/packwiz-installer-bootstrap/releases/download/v0.0.3/packwiz-installer-bootstrap.jar | |
- name: Test installing the modpack | |
working-directory: ./install | |
run: java -jar "./packwiz-installer-bootstrap.jar" --no-gui http://localhost:9090/pack.toml | |
- name: Set modpack name | |
run: ./bin/dasel put -f ./config/bcc-common.toml -r toml -v Logicraft general.modpackName | |
- name: Set modpack curseforge project id | |
run: ./bin/dasel put -f ./config/bcc-common.toml -r toml -v 323471 general.modpackProjectID | |
- name: Set modpack version | |
run: ./bin/dasel put -f ./config/bcc-common.toml -r toml -v `date +%Y%m%d%H%M%S` general.modpackVersion | |
- name: Refresh Packwiz indices | |
run: ./bin/packwiz refresh | |
- name: Install SSH Key | |
uses: shimataro/ssh-key-action@v2 | |
with: | |
key: ${{ secrets.IONOS_LOGICRAFT_WEB_SSH_KEY }} | |
known_hosts: 'just-a-placeholder-so-we-dont-get-errors' | |
- name: Adding Known Hosts | |
run: ssh-keyscan -H ${{ secrets.IONOS_LOGICRAFT_WEB_ADDRESS }} >> ~/.ssh/known_hosts | |
- name: Cleanup website root | |
run: ssh ${{ secrets.IONOS_LOGICRAFT_SSH_USERNAME }}@${{ secrets.IONOS_LOGICRAFT_WEB_ADDRESS }} -i /home/runner/.ssh/id_rsa 'rm -rf /var/www/logicraft.cc/html/*' | |
- name: Generate index page | |
run: markdown README.md > index.html | |
- name: Copy website contents | |
run: rsync -avzn --exclude=.git ./* ${{ secrets.IONOS_LOGICRAFT_SSH_USERNAME }}@${{ secrets.IONOS_LOGICRAFT_WEB_ADDRESS }}:/var/www/logicraft.cc/html | |