diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index c74bf05..0000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,114 +0,0 @@ -name: Build macOS -on: - schedule: - # Run nightly at 00:00 - - cron: '0 0 * * *' - - workflow_dispatch: - inputs: - otp-ref-name: - required: true - otp-ref: - required: true - openssl-version: - default: "3.1.6" -jobs: - schedule: - name: "Schedule nightly" - if: github.event.schedule - runs-on: ubuntu-latest - steps: - - run: | - ref=$(gh api repos/erlang/otp/commits/master --jq .sha) - gh workflow run --repo hexpm/bob macos.yml --field otp-ref-name=master --field otp-ref=$ref - - ref=$(gh api repos/erlang/otp/commits/maint --jq .sha) - gh workflow run --repo hexpm/bob macos.yml --field otp-ref-name=maint --field otp-ref=$ref - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - build: - name: "Build OTP macOS ${{ inputs.otp-ref-name }} ${{ matrix.arch }}" - if: github.event.inputs - runs-on: macos-latest - concurrency: - group: "builds/otp/${{ matrix.arch }}/macos/builds.txt" - env: - OTP_REF_NAME: ${{ inputs.otp-ref-name }} - OPENSSL_VERSION: ${{ inputs.openssl-version }} - OTP_DIR: /tmp/builds/otp-${{ inputs.otp-ref-name }}-${{ inputs.otp-ref }}-openssl-${{ inputs.openssl-version }}-macos-${{ matrix.arch }} - OTP_REF: ${{ inputs.otp-ref }} - strategy: - matrix: - arch: [amd64, arm64] - steps: - - uses: actions/checkout@v4 - - - uses: actions/cache@v4 - with: - path: /tmp/builds/openssl-${{ env.OPENSSL_VERSION }}-macos-${{ matrix.arch }} - key: openssl-${{ env.OPENSSL_VERSION }}-macos-${{ matrix.arch }} - - - uses: actions/cache@v4 - with: - path: ${{ env.OTP_DIR }} - key: otp-${{ env.OTP_REF }}-openssl-${{ env.OPENSSL_VERSION }}-macos-${{ matrix.arch }} - - - name: Build - run: | - sh priv/scripts/otp/build_otp_macos.sh "${{ env.OTP_REF_NAME }}" "${{ env.OTP_REF }}" "${{ matrix.arch }}" - - - name: Upload - run: | - function purge_key() { - curl \ - --fail \ - --retry 10 \ - -X POST \ - -H "Fastly-Key: ${FASTLY_KEY}" \ - -H "Accept: application/json" \ - -H "Content-Length: 0" \ - "https://api.fastly.com/service/${FASTLY_SERVICE_ID}/purge/$1" - } - - ref_name=${{ env.OTP_REF_NAME }} - tgz=${{ env.OTP_REF_NAME }}.tar.gz - tar czf ${tgz} --cd ${{ env.OTP_DIR }} . - s3_base_url="s3://${{ env.AWS_S3_BUCKET }}/builds/otp/${{ matrix.arch }}/macos" - - # Upload tar.gz - surrogate_key="builds/otp/${{ matrix.arch }}/macos/${{ env.OTP_REF_NAME }}" - - aws s3 cp \ - ${tgz} \ - "${s3_base_url}/${tgz}" \ - --cache-control "public,max-age=3600" \ - --metadata "{\"surrogate-key\":\"builds builds/otp ${surrogate_key}\",\"surrogate-control\":\"public,max-age=604800\"}" - - purge_key ${surrogate_key} - - # Upload builds.txt - date=$(date -u '+%Y-%m-%dT%H:%M:%SZ') - build_sha256=$(shasum -a 256 $tgz | cut -d ' ' -f 1) - aws s3 cp ${s3_base_url}/builds.txt builds.txt || true - touch builds.txt - sed -i.bak "/^${ref_name} /d" builds.txt - echo -e "${ref_name} ${{ env.OTP_REF }} ${date} ${build_sha256}\n$(cat builds.txt)" > builds.txt - sort -u -k1,1 -o builds.txt builds.txt - - surrogate_key="builds/otp/${{ matrix.arch }}/macos/builds.txt" - - aws s3 cp \ - builds.txt \ - ${s3_base_url}/builds.txt \ - --cache-control "public,max-age=3600" \ - --metadata "{\"surrogate-key\":\"builds builds/otp ${surrogate_key}\",\"surrogate-control\":\"public,max-age=604800\"}" - - purge_key ${surrogate_key} - env: - AWS_ACCESS_KEY_ID: ${{ secrets.BUILDS_AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.BUILDS_AWS_SECRET_ACCESS_KEY }} - AWS_REGION: ${{ secrets.BUILDS_AWS_REGION }} - AWS_S3_BUCKET: ${{ secrets.BUILDS_AWS_S3_BUCKET }} - FASTLY_SERVICE_ID: ${{ secrets.BUILDS_FASTLY_SERVICE_ID }} - FASTLY_KEY: ${{ secrets.BUILDS_FASTLY_KEY }} diff --git a/priv/scripts/otp/build_otp_macos.sh b/priv/scripts/otp/build_otp_macos.sh deleted file mode 100755 index 5451a77..0000000 --- a/priv/scripts/otp/build_otp_macos.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/bash - -set -euox pipefail - -main() { - if [ $# -ne 3 ]; then - cat <