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: Build with Maven
- run: mvn --batch-mode --errors --fail-at-end --show-version clean verify --file pom.xml
+ - name: Cache Maven Dependencies
+ uses: actions/cache@v2.1.1
+ with:
+ path: ~/.m2/repository
+ key: mograsim-maven-${{ hashFiles('**/pom.xml,**/MANIFEST.MF') }}
+ restore-keys: |
+ mograsim-maven-
+ - name: Build with Maven (mocked)
+ run: |
+ echo mvn --batch-mode --errors --fail-at-end --show-version clean verify --file pom.xml
+ mkdir -p releng/net.mograsim.plugin.updatesite/target/repository/subdir
+ echo "file contents" > releng/net.mograsim.plugin.updatesite/target/repository/somefile.txt
+ echo "another contents" > releng/net.mograsim.plugin.updatesite/target/repository/subdir/somefile2.txt
+ - name: Deploy to mograsim.net
+ env:
+ DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
+ MOGRASIM_NET_HOST_PUBKEY: ${{ secrets.MOGRASIM_NET_HOST_PUBKEY }}
+ run: |
+ mkdir -p ~/.ssh
+ echo "${DEPLOY_TOKEN}" > ~/.ssh/id_rsa_deploy
+ chmod 600 ~/.ssh/id_rsa_deploy
+ echo "${MOGRASIM_NET_HOST_PUBKEY}" >> ~/.ssh/known_hosts
+ ls ~/.ssh
+ cat ~/.ssh/id_rsa_deploy
+ scp -i ~/.ssh/id_rsa_deploy -r releng/net.mograsim.plugin.updatesite/target/repository mograsim.net:mograsim/testdeploy