X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=.github%2Fworkflows%2Fmaven.yml;h=d8208abf6351aa0fe7088f62177aa0f3d08df731;hb=e2afca47e58e69b03378537c5f1d1a15a806a10d;hp=0eee55b4b70d01a3e2f5a2f460a67939358dbc65;hpb=ddf06645140dde4b6c17e81fc271c3dc0f0e4818;p=Mograsim.git diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 0eee55b4..d8208abf 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -3,15 +3,43 @@ name: Java CI on: [push] jobs: - build: + build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: Checkout submodules # See https://github.com/actions/checkout#Checkout-submodules + shell: bash + run: | + auth_header="$(git config --local --get http.https://github.com/.extraheader)" + git submodule sync --recursive + git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 + - name: Cache Maven Dependencies + uses: actions/cache@v2.1.1 + with: + path: ~/.m2/repository + key: mograsim-maven-${{ hashFiles('**/pom.xml', '**/MANIFEST.MF', '.github/workflows/maven.yml') }} + restore-keys: | + mograsim-maven- - name: Build with Maven run: mvn --batch-mode --errors --fail-at-end --show-version clean verify --file pom.xml + - name: Deploy to mograsim.net + env: + DEPLOY_KEY: ${{secrets.DEPLOY_KEY}} + MOGRASIM_NET_HOST_PUBKEY: ${{secrets.MOGRASIM_NET_HOST_PUBKEY }} + REF: ${{github.ref}} + run: | + mkdir -p ~/.ssh || { echo Creating '~/.ssh' failed, aborting; exit 1; } + touch ~/.ssh/id_rsa_deploy + chmod 600 ~/.ssh/id_rsa_deploy + printenv DEPLOY_KEY > ~/.ssh/id_rsa_deploy + printenv MOGRASIM_NET_HOST_PUBKEY >> ~/.ssh/known_hosts + date=$(date +%Y%m%d_%H%M%S) + scp -i ~/.ssh/id_rsa_deploy -r releng/net.mograsim.plugin.updatesite/target/repository mgsdeploy@mograsim.net:/mograsim/upload_tmp/$date || + { echo Uploading files failed, aborting; exit 1; } + exec ssh -i ~/.ssh/id_rsa_deploy mgsdeploy@mograsim.net /mograsim/upload_updatesite_finished.sh $date $REF