Skip to content

Release 1.0.6.1

Release 1.0.6.1 #104

Workflow file for this run

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