diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 000000000..20554ae50 --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,30 @@ +name: Publish Docs +on: + push: + branches: + - master +jobs: + docs: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Cache SBT + uses: actions/cache@v2 + with: + path: | + ~/.ivy2/cache + ~/.sbt + key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Scala + uses: olafurpg/setup-scala@v12 + - name: Build docs + run: sbt docs/unidoc + - name: Deploy to GitHub Pages + uses: JamesIves/github-pages-deploy-action@4.1.4 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: docs/target/scala-2.13/unidoc diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 62ee4c47b..f4bda8918 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -1,32 +1,11 @@ -name: Publish -on: [push] +name: Publish Docker Image +on: + push: + branches: + - master + pull_request: + types: [ opened, reopened, synchronize ] jobs: - docs: - if: github.ref == 'refs/heads/master' - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Cache SBT - uses: actions/cache@v2 - with: - path: | - ~/.ivy2/cache - ~/.sbt - key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} - - name: Checkout - uses: actions/checkout@v2 - - name: Setup Scala - uses: olafurpg/setup-scala@v12 - - name: Build docs - run: sbt docs/unidoc - - name: Deploy to GitHub Pages - uses: JamesIves/github-pages-deploy-action@4.1.4 - with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: gh-pages - FOLDER: docs/target/scala-2.13/unidoc - docker: runs-on: ubuntu-latest steps: @@ -36,7 +15,11 @@ jobs: id: prep run: | DOCKER_IMAGE=server - REPOSITORY="$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')" + REPOSITORY="$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')" # Repository name must be lowercase in image tags + + if [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then + GITHUB_SHA=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) # GITHUB_SHA is the merge SHA, not the head commit SHA in a PR, replace it. + fi TAGS="ghcr.io/${REPOSITORY}/${DOCKER_IMAGE}:${GITHUB_SHA}" if [ "${{ github.ref }}" = "refs/heads/master" ]; then diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index ea2083f0d..bba53b3c6 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -1,5 +1,10 @@ name: Test -on: [push, pull_request] +on: + push: + branches: + - master + pull_request: + types: [ opened, reopened, synchronize ] jobs: test: runs-on: ubuntu-latest