name: Publish
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
|
|
jobs:
|
|
build:
|
|
name: Create release and publish escript for every new tag
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: gleam-lang/setup-erlang@v1.0.0
|
|
with:
|
|
otp-version: 19.3.6.13
|
|
- name: Compile
|
|
run: ./bootstrap
|
|
- name: CT tests
|
|
run: ./rebar3 ct
|
|
|
|
- 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 }}
|
|
draft: false
|
|
prerelease: false
|
|
|
|
- name: Upload Release Asset
|
|
id: upload-release-asset
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: ./rebar3
|
|
asset_name: rebar3
|
|
asset_content_type: application/octet-stream
|
|
|
|
- name: Configure AWS credentials
|
|
if: "!github.event.release.prerelease"
|
|
uses: aws-actions/configure-aws-credentials@v1
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
aws-region: us-east-1
|
|
|
|
- name: Copy rebar3 escript to S3
|
|
if: "!github.event.release.prerelease"
|
|
run: |
|
|
aws s3 cp ./rebar3 s3://rebar3
|