diff --git a/.github/workflows/latest_erl.yaml b/.github/workflows/latest_erl.yaml new file mode 100644 index 0000000..8d4e90f --- /dev/null +++ b/.github/workflows/latest_erl.yaml @@ -0,0 +1,127 @@ +name: Build and Sync latest erlang + +on: + schedule: + - cron: "0 0 * * 0" + workflow_dispatch: + +jobs: + build-sync-arm: + strategy: + fail-fast: false + matrix: + cfg: + - { DISTRO_LATEST: "rockylinux_8", PLATFORM: "linux-arm64" } + runs-on: ubuntu-22.04-arm64 + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Build the package + env: + GPG_PASS: ${{secrets.GPG_PASS}} + run: | + echo "Building ..." + echo "Distro latest ${{ matrix.cfg.DISTRO_LATEST }}" + echo "Platform ${{ matrix.cfg.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 "erlang_latest_${{matrix.cfg.DISTRO_LATEST}}_${{matrix.cfg.PLATFORM}}" + find ./ -type f -name "GPG-KEY*" -delete + + - 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: | + cd build + aws s3 sync . s3://esl-erlang --storage-class ONEZONE_IA --acl public-read + + build-sync: + strategy: + fail-fast: false + matrix: + cfg: + - { DISTRO_LATEST: "rockylinux_8", PLATFORM: "linux-amd64" } + #- { DISTRO_LATEST: "ubuntu_xenial", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "ubuntu_xenial", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "ubuntu_bionic", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "ubuntu_bionic", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "ubuntu_focal", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "ubuntu_focal", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "ubuntu_jammy", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "ubuntu_jammy", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "debian_bookworm", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "debian_bookworm", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "debian_bullseye", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "debian_bullseye", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "debian_buster", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "debian_buster", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "debian_stretch", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "debian_stretch", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "centos_7", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "centos_7", PLATFORM: "linux-arm64" } + # - { DISTRO_LATEST: "centos_8", PLATFORM: "linux-amd64" } + # - { DISTRO_LATEST: "centos_8", PLATFORM: "linux-arm64" } + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: Build the package + env: + GPG_PASS: ${{secrets.GPG_PASS}} + run: | + echo "Building ..." + echo "Distro latest ${{ matrix.cfg.DISTRO_LATEST }}" + echo "Platform ${{ matrix.cfg.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 "erlang_latest_${{matrix.cfg.DISTRO_LATEST}}_${{matrix.cfg.PLATFORM}}" + find ./ -type f -name "GPG-KEY*" -delete + + - 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: | + cd build + aws s3 sync . s3://esl-erlang --storage-class ONEZONE_IA --acl public-read