Publish Artifacts #64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish Artifacts | |
# Tags are automatically published | |
# | |
# Manual publishing (workflow_dispatch) from the main branch is also supported | |
# | |
# Separate from main test running, because we assume that anything you push a | |
# tag for or trigger manually would already have passed tests, so no need to run | |
# them again and deal with slowness and flakiness twice. | |
on: | |
push: | |
tags: | |
- '**' | |
workflow_dispatch: | |
# cancel older runs of a pull request; | |
# this will not cancel anything for normal git pushes | |
concurrency: | |
group: cancel-old-pr-runs-${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
build-artifacts: | |
# when in master repo, publish all tags and manual runs on main | |
if: github.repository == 'com-lihaoyi/mill' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: {fetch-depth: 0} | |
- uses: coursier/cache-action@v6 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: temurin | |
- run: ./mill -i __.publishArtifacts | |
- uses: actions/[email protected] | |
with: | |
path: . | |
include-hidden-files: true | |
name: publish-artifacts | |
publish-sonatype: | |
# when in master repo, publish all tags and manual runs on main | |
if: github.repository == 'com-lihaoyi/mill' | |
needs: build-artifacts | |
runs-on: ubuntu-latest | |
# only run one publish job for the same sha at the same time | |
# e.g. when a main-branch push is also tagged | |
concurrency: publish-sonatype-${{ github.sha }} | |
env: | |
MILL_SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
MILL_SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
MILL_PGP_SECRET_BASE64: ${{ secrets.SONATYPE_PGP_SECRET }} | |
MILL_PGP_PASSPHRASE: ${{ secrets.SONATYPE_PGP_PASSWORD }} | |
LANG: "en_US.UTF-8" | |
LC_MESSAGES: "en_US.UTF-8" | |
LC_ALL: "en_US.UTF-8" | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
path: . | |
name: publish-artifacts | |
- run: ls -la . | |
# Need to fix cached artifact file permissions because github actions screws it up | |
# https://github.com/actions/upload-artifact/issues/38 | |
# Best is, we restore any file to avoid any changes | |
- run: git reset --hard | |
- uses: coursier/cache-action@v6 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: temurin | |
- run: ./mill -i mill.scalalib.PublishModule/ | |
release-github: | |
# when in master repo, publish all tags and manual runs on main | |
if: github.repository == 'com-lihaoyi/mill' | |
needs: publish-sonatype | |
runs-on: ubuntu-latest | |
env: | |
REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }} | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
path: . | |
name: publish-artifacts | |
- run: ls -la . | |
# Need to fix cached artifact file permissions because github actions screws it up | |
# https://github.com/actions/upload-artifact/issues/38 | |
# Best is, we restore any file to avoid any changes | |
- run: git reset --hard | |
- uses: coursier/cache-action@v6 | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: temurin | |
- run: ./mill -i dist.uploadToGithub --authKey $REPO_ACCESS_TOKEN |