name: Build on: [push] jobs: build: name: Build and Test runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')" steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 with: java-version: 16 - uses: actions/cache@v1 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Ensure to use tagged version run: mvn versions:set -DnewVersion=${GITHUB_REF##*/} # use shell parameter expansion to strip of 'refs/tags' if: startsWith(github.ref, 'refs/tags/') - name: Build and Test run: mvn -B clean install jacoco:report -Pcoverage,dependency-check - name: Upload code coverage report id: codacyCoverageReporter run: bash <(curl -Ls https://coverage.codacy.com/get.sh) env: CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} continue-on-error: true ### TODO: move to matrix build: - name: Assemble buildkit-linux.zip run: mvn -B clean package -DskipTests -Plinux - name: Upload buildkit-linux.zip uses: actions/upload-artifact@v1 with: name: buildkit-linux.zip path: target/buildkit-linux.zip - name: Assemble buildkit-mac.zip run: mvn -B clean package -DskipTests -Pmac - name: Upload buildkit-mac.zip uses: actions/upload-artifact@v1 with: name: buildkit-mac.zip path: target/buildkit-mac.zip - name: Assemble buildkit-win.zip run: mvn -B clean package -DskipTests -Pwindows - name: Upload buildkit-win.zip uses: actions/upload-artifact@v1 with: name: buildkit-win.zip path: target/buildkit-win.zip release: name: Draft a Release on GitHub Releases runs-on: ubuntu-latest needs: build if: startsWith(github.ref, 'refs/tags/') && github.repository == 'cryptomator/cryptomator' steps: - name: Download buildkit-linux.zip uses: actions/download-artifact@v1 with: name: buildkit-linux.zip path: . - name: Download buildkit-mac.zip uses: actions/download-artifact@v1 with: name: buildkit-mac.zip path: . - name: Download buildkit-win.zip uses: actions/download-artifact@v1 with: name: buildkit-win.zip path: . - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} body: | :construction: Work in Progress TODO: * [ ] add Linux appimage, zsync file and signature file * [ ] add Windows installer and signature file * [ ] add MacOs disk image and signature file ## What's new ## Bugfixes ## Misc --- :scroll: A complete list of closed issues is available [here](LINK) draft: true prerelease: false - name: Upload buildkit-linux.zip to GitHub Releases uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: buildkit-linux.zip asset_name: buildkit-linux.zip asset_content_type: application/zip - name: Upload buildkit-mac.zip to GitHub Releases uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: buildkit-mac.zip asset_name: buildkit-mac.zip asset_content_type: application/zip - name: Upload buildkit-win.zip to GitHub Releases uses: actions/upload-release-asset@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: buildkit-win.zip asset_name: buildkit-win.zip asset_content_type: application/zip