X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=blobdiff_plain;f=.github%2Fworkflows%2Fmaven.yml;h=d5c1ee30b6167e8fd2442cc2fb6b9d3d4bed60dc;hp=0eee55b4b70d01a3e2f5a2f460a67939358dbc65;hb=b16fe399492424fe382f981315dc007216544fea;hpb=ddf06645140dde4b6c17e81fc271c3dc0f0e4818 diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 0eee55b4..d5c1ee30 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