release-1.0.7 #105
Workflow file for this run
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: Release | |
on: | |
push: | |
tags: | |
- '*' | |
jobs: | |
create_release: | |
runs-on: ubuntu-latest | |
outputs: | |
upload_url: ${{ steps.create_release.upload_url }} | |
steps: | |
- name: Create Github 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: ${{ endsWith(github.ref, '-pre') }} | |
release-ubuntu: | |
needs: [create_release] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Set output | |
id: vars | |
run: | | |
echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
cat $GITHUB_OUTPUT | |
- name: Install OTP and Elixir | |
uses: erlef/setup-beam@v1 | |
with: | |
otp-version: 24.3.4 | |
elixir-version: 1.14.2 | |
- name: Install NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.12.1 | |
- name: Install Dependencies | |
if: steps.mix-cache.outputs.cache-hit != 'true' | |
run: | | |
mix local.rebar --force | |
mix local.hex --force | |
mix deps.get --only prod | |
- name: Compile Web Assets | |
run: | | |
yarn install --cwd assets | |
mix assets.deploy | |
env: | |
MIX_ENV: prod | |
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
- name: mix release | |
run: | | |
mix release | |
env: | |
MIX_ENV: prod | |
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
- name: Compress files | |
uses: master-atul/[email protected] | |
with: | |
command: c | |
cwd: ./_build/prod/rel | |
files: | | |
./open890 | |
outPath: /tmp/open890-${{ steps.vars.outputs.TAG }}-ubuntu-x64.tar.gz | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: /tmp/open890-${{ steps.vars.outputs.TAG }}-ubuntu-x64.tar.gz | |
asset_name: open890-${{ steps.vars.outputs.TAG }}-ubuntu-x64.tar.gz | |
tag: ${{ steps.vars.outputs.tag }} | |
- name: Upload Release Asset to S3 | |
id: upload-release-asset-s3 | |
run: | | |
aws s3 cp /tmp/open890-${{ steps.vars.outputs.TAG }}-ubuntu-x64.tar.gz s3://${{ secrets.AWS_S3_BUCKET }}/${{ secrets.AWS_S3_BUCKET_PATH }} | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_DEFAULT_REGION: ${{ secrets.AWS_S3_REGION }} | |
AWS_EC2_METADATA_DISABLED: true | |
#release-macos: | |
# needs: [create_release] | |
# runs-on: macos-latest | |
# steps: | |
# - uses: actions/checkout@v3 | |
# with: | |
# ref: ${{ github.head_ref }} | |
# - name: Set output | |
# id: vars | |
# run: | | |
# echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
# cat $GITHUB_OUTPUT | |
# - name: Install asdf via homebrew | |
# run: | | |
# brew install asdf coreutils automake autoconf libyaml readline libxslt libtool | |
# brew install [email protected] | |
# mkdir -p ~/.asdf/installs/erlang | |
# - name: Show openssl prefix | |
# run: | | |
# brew --prefix [email protected] | |
# - name: Action-cache asdf erlang build | |
# uses: actions/cache@v3 | |
# with: | |
# path: ~/.asdf/installs/erlang | |
# key: ${{ runner.os }}-${{ hashFiles('.tool-versions') }} | |
# - name: Install OTP and Elixir via asdf | |
# env: | |
# KERL_CONFIGURE_OPTIONS: "--disable-dynamic-ssl-lib --without-javac --with-ssl=/usr/local/opt/[email protected]" | |
# run: | | |
# make install_tools | |
# asdf reshim erlang | |
# # - name: Cache asdf Erlang build to S3 | |
# # run: | | |
# # cd ~/.asdf/installs/erlang && tar zcvf /tmp/asdf-erlang-install-macos.tar.gz ~/.asdf/installs/erlang/ | |
# # aws s3 cp /tmp/asdf-erlang-install-macos.tar.gz s3://${{ secrets.AWS_S3_BUCKET }}/build_tmp/ | |
# # env: | |
# # AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
# # AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
# # AWS_DEFAULT_REGION: ${{ secrets.AWS_S3_REGION }} | |
# # AWS_EC2_METADATA_DISABLED: true | |
# - name: Install Dependencies | |
# if: steps.mix-cache.outputs.cache-hit != 'true' | |
# run: | | |
# export PATH=~/.asdf/shims:$PATH | |
# mix local.rebar --force | |
# mix local.hex --force | |
# mix deps.get --only prod | |
# - name: Compile Web Assets | |
# run: | | |
# export PATH=~/.asdf/shims:$PATH | |
# yarn install --cwd assets | |
# mix assets.deploy | |
# env: | |
# MIX_ENV: prod | |
# SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
# - name: mix release | |
# run: | | |
# export PATH=~/.asdf/shims:$PATH | |
# mix release | |
# env: | |
# MIX_ENV: prod | |
# SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
# - name: Compress files | |
# uses: master-atul/[email protected] | |
# with: | |
# command: c | |
# cwd: ./_build/prod/rel | |
# files: | | |
# ./open890 | |
# outPath: /tmp/open890-${{ steps.vars.outputs.TAG }}-macos-intel.tar.gz | |
# - name: Output release checksum | |
# run: | | |
# echo "::set-output name=sha256_linux::$(sha256sum /tmp/open890-${{ steps.vars.outputs.TAG }}-macos-intel.tar.gz)" | |
# - name: Upload Release Asset | |
# id: upload-release-asset | |
# uses: svenstaro/upload-release-action@v2 | |
# with: | |
# repo_token: ${{ secrets.GITHUB_TOKEN }} | |
# file: /tmp/open890-${{ steps.vars.outputs.TAG }}-macos-intel.tar.gz | |
# asset_name: open890-${{ steps.vars.outputs.TAG }}-macos-intel.tar.gz | |
# tag: ${{ steps.vars.outputs.TAG }} | |
# - name: Upload Release Asset to S3 | |
# id: upload-release-asset-s3 | |
# run: | | |
# aws s3 cp /tmp/open890-${{ steps.vars.outputs.TAG }}-macos-intel.tar.gz s3://${{ secrets.AWS_S3_BUCKET }}/${{ secrets.AWS_S3_BUCKET_PATH }} | |
# env: | |
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
# AWS_DEFAULT_REGION: ${{ secrets.AWS_S3_REGION }} | |
# AWS_EC2_METADATA_DISABLED: true | |
release-windows: | |
needs: [create_release] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Set output | |
shell: bash | |
id: vars | |
run: | | |
echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT | |
cat $GITHUB_OUTPUT | |
- name: Install Erlang and Elixir | |
env: | |
ERLANG_VERSION: 24.3.4 | |
ELIXIR_VERSION: 1.14.2 | |
run: | | |
build_scripts\win64\install_elixir.ps1; | |
echo "c:\erlang\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append; | |
echo "c:\elixir\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append; | |
- name: Install Dependencies | |
run: | | |
mix local.rebar --force | |
mix local.hex --force | |
mix deps.get --only prod | |
- name: Install node dependencies | |
working-directory: assets | |
run: | | |
yarn install --cwd assets | |
env: | |
MIX_ENV: prod | |
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
- name: mix assets.deploy.windows | |
run: | | |
mix assets.deploy.windows | |
env: | |
MIX_ENV: prod | |
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
- name: mix release | |
run: | | |
mix release | |
env: | |
MIX_ENV: prod | |
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} | |
- name: Compress files | |
run: | | |
cd _build\prod\rel | |
7z a ..\..\..\open890-${{ steps.vars.outputs.TAG }}-windows-x64.zip open890\ | |
cd ..\..\.. | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: open890-${{ steps.vars.outputs.TAG }}-windows-x64.zip | |
asset_name: open890-${{ steps.vars.outputs.TAG }}-windows-x64.zip | |
tag: ${{ steps.vars.outputs.TAG }} | |
- name: Upload Release Asset to S3 | |
id: upload-release-asset-s3 | |
run: | | |
aws s3 cp open890-${{ steps.vars.outputs.TAG }}-windows-x64.zip s3://${{ secrets.AWS_S3_BUCKET }}/${{ secrets.AWS_S3_BUCKET_PATH }} | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_DEFAULT_REGION: ${{ secrets.AWS_S3_REGION }} | |
AWS_EC2_METADATA_DISABLED: true |