Files
sdkman-cli/.github/workflows/release.yml
2021-08-22 11:33:03 +01:00

55 lines
1.8 KiB
YAML

name: Release
on:
push:
tags:
- '*'
jobs:
build:
name: "Stable Release"
if: github.repository == 'sdkman/sdkman-cli'
runs-on: ubuntu-latest
environment: production
services:
mongodb:
image: mongo:3.2
ports:
- 27017:27017
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '11'
- name: Run tests
run: ./gradlew clean test --info
- name: Set github tag
id: var
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
- name: Build artifacts
run: ./gradlew -Penv=production -Prelease=${{ steps.var.outputs.tag }} clean assemble
- name: Release
uses: ncipollo/release-action@v1
with:
artifacts: "build/distributions/sdkman-cli-*.zip"
token: ${{ secrets.GITHUB_TOKEN }}
- name: Get release
id: get_release
uses: bruceadams/get-release@v1.2.2
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Update MongoDB
env:
MONGO_URL: ${{ secrets.MONGO_URL }}
MONGO_USERNAME: ${{ secrets.MONGO_USERNAME }}
MONGO_PASSWORD: ${{ secrets.MONGO_PASSWORD }}
RELEASE_TAG: ${{ steps.var.outputs.tag }}
run: bin/release-binary.sh "$MONGO_URL" "$MONGO_USERNAME" "$MONGO_PASSWORD" "$RELEASE_TAG" "stable"
- name: Tweet about it
uses: ethomson/send-tweet-action@v1
with:
status: "Released version ${{ steps.get_release.outputs.tag_name }} of SDKMAN! ${{ steps.get_release.outputs.html_url }}"
consumer-key: ${{ secrets.TWITTER_CONSUMER_API_KEY }}
consumer-secret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }}
access-token: ${{ secrets.TWITTER_ACCESS_TOKEN }}
access-token-secret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}