diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..134fe24 --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,70 @@ +name: ci + +on: [push] + +jobs: + lint: + name: Lint GSC files + runs-on: ubuntu-latest + steps: + - name: Check out files + uses: actions/checkout@v4 + + - name: Lint + uses: addnab/docker-run-action@v3 + with: + registry: gcr.io + image: xensik/gsc-tool:latest + options: --volumes-from=${{ env.JOB_CONTAINER_NAME }} + run: | + cd ${{ github.workspace }} + gsc-tool --dry -m parse -g iw5 -s pc "raw/scripts" + gsc-tool --dry -m comp -g iw5 -s pc "raw/maps" + + - name: Upload raw artifacts + if: github.ref == 'refs/heads/master' + uses: actions/upload-artifact@v3 + with: + name: raw artifacts + path: | + raw/* + + deploy: + name: Deploy artifacts + needs: [lint] + runs-on: ubuntu-latest + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + steps: + - name: Install dependencies + run: | + apt-get update + apt-get install -y rsync + + - name: Setup main environment + run: echo "ALTERWARE_MASTER_SERVER_PATH=${{ secrets.ALTERWARE_MASTER_SSH_PATH }}" >> $GITHUB_ENV + + - name: Download raw artifacts + uses: actions/download-artifact@v3 + with: + name: raw artifacts + + - name: List files after artifact download + run: ls -R + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2.7.0 + with: + key: ${{ secrets.ALTERWARE_MASTER_SSH_PRIVATE_KEY }} + known_hosts: 'just-a-placeholder-so-we-dont-get-errors' + + - name: Add known hosts + run: ssh-keyscan -H ${{ secrets.ALTERWARE_MASTER_SSH_ADDRESS }} >> ~/.ssh/known_hosts + + - name: Remove old raw files + run: ssh ${{ secrets.ALTERWARE_MASTER_SSH_USER }}@${{ secrets.ALTERWARE_MASTER_SSH_ADDRESS }} rm -rf ${{ env.ALTERWARE_MASTER_SERVER_PATH }}/iw5/raw/* + + - name: Upload raw files + run: rsync -avz ./raw/ ${{ secrets.ALTERWARE_MASTER_SSH_USER }}@${{ secrets.ALTERWARE_MASTER_SSH_ADDRESS }}:${{ env.ALTERWARE_MASTER_SERVER_PATH }}/iw5/raw/ + + - name: Publish changes + run: ssh ${{ secrets.ALTERWARE_MASTER_SSH_USER }}@${{ secrets.ALTERWARE_MASTER_SSH_ADDRESS }} ${{ secrets.ALTERWARE_SSH_CHANGE_PUBLISH_COMMAND }} diff --git a/.gitea/workflows/lint.yml b/.gitea/workflows/lint.yml deleted file mode 100644 index 99401d6..0000000 --- a/.gitea/workflows/lint.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: lint - -on: [push] - -jobs: - lint: - name: Lint GSC files - runs-on: ubuntu-latest - steps: - - name: Check out files - uses: actions/checkout@v4 - - - name: Lint - uses: addnab/docker-run-action@v3 - with: - registry: gcr.io - image: xensik/gsc-tool:latest - options: --volumes-from=${{ env.JOB_CONTAINER_NAME }} - run: | - cd ${{ github.workspace }} - gsc-tool --dry -m parse -g iw5 -s pc "raw/scripts" - gsc-tool --dry -m comp -g iw5 -s pc "raw/maps"