Skip to content

Build and Sync Elixir / Mongooseim #8

Build and Sync Elixir / Mongooseim

Build and Sync Elixir / Mongooseim #8

name: Build and Sync Elixir / Mongooseim
on:
workflow_dispatch:
inputs:
WHAT:
type: choice
description: Elixir / Mongooseim
options:
- elixir
- mongooseim
WHAT_VERSION:
description: Elixir VSN / Mongooseim VSN
required: true
ERLANG_VERSION:
description: Erlang VSN
required: true
DISTRO:
type: choice
description: linux distribution
options:
- rockylinux
- centos
- debian
- ubuntu
- fedora
- almalinux
- amazonlinux
OS_VERSION:
required: true
PLATFORM:
type: choice
description: target architecture
options:
- linux-amd64
- linux-arm64
# - linux-riscv64
# - linux-ppc64le
# - linux-s390x
# - linux-386
# - linux-mips64le
# - linux-mips64
# - linux-arm-v7
# - linux-arm-v6
jobs:
build-sync:
runs-on: ubuntu-latest
env:
WHAT: ${{ github.event.inputs.WHAT }}
WHAT_VERSION: ${{ github.event.inputs.WHAT_VERSION }}
ERLANG_VERSION: ${{ github.event.inputs.ERLANG_VERSION }}
DISTRO: ${{ github.event.inputs.DISTRO }}
OS_VERSION: ${{ github.event.inputs.OS_VERSION }}
PLATFORM: ${{ github.event.inputs.PLATFORM }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker buildx
id: buildx
uses: docker/setup-buildx-action@v1
- name: Cache build and cache folders
uses: actions/cache@v3
with:
path: |
cache
build
key: ${{ env.WHAT }}-${{ env.WHAT_VERSION }}-${{ env.ERLANG_VERSION }}-${{ env.DISTRO }}-${{ env.OS_VERSION }}-${{ env.PLATFORM }}
restore-keys: |
${{ env.WHAT }}-${{ env.WHAT_VERSION }}-${{ env.ERLANG_VERSION }}-${{ env.DISTRO }}-${{ env.OS_VERSION }}-${{ env.PLATFORM }}
${{ env.WHAT }}-${{ env.WHAT_VERSION }}-${{ env.ERLANG_VERSION }}-${{ env.DISTRO }}-${{ env.OS_VERSION }}-
${{ env.WHAT }}-${{ env.WHAT_VERSION }}-${{ env.ERLANG_VERSION }}-${{ env.DISTRO }}-
${{ env.WHAT }}-${{ env.WHAT_VERSION }}-
${{ env.WHAT }}-
- name: Build the package
run: |
echo "Building ..."
echo "Language ${{ env.WHAT }}"
echo "Version ${{ env.WHAT_VERSION }}"
echo "Erlang version ${{ env.ERLANG_VERSION }}"
echo "Distro ${{ env.DISTRO }}"
echo "Os ver ${{ env.OS_VERSION }}"
echo "Platform ${{ env.PLATFORM }}"
echo "${{secrets.GPG_P_KEY}}" | tr ';' '\n' > GPG-KEY-pmanager
export GPG_PASS=${{secrets.GPG_PASS}}
export GPG_KEY_ID=${{secrets.GPG_KEY_ID}}
make "${{env.WHAT}}_${{env.WHAT_VERSION}}_${{env.ERLANG_VERSION}}_${{env.DISTRO}}_${{env.OS_VERSION}}_${{env.PLATFORM}}"
- name: Set AWS credentials
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: eu-west-2
- id: install-aws-cli
uses: unfor19/install-aws-cli-action@v1.0.2
with:
version: 2 # default
verbose: false # default
arch: amd64
- id: upload-something-s3
run: |
mkdir -p build/rockylinux/8
cd build
aws s3 sync . s3://esl-erlang --storage-class ONEZONE_IA --acl public-read