Skip to content

ponyc-nightly-image-pushed #37

ponyc-nightly-image-pushed

ponyc-nightly-image-pushed #37

name: Rebuild ponyc based images
on:
repository_dispatch:
types:
- ponyc-nightly-image-pushed
- ponyc-release-image-pushed
workflow_dispatch:
permissions:
contents: read
packages: write
jobs:
standard-builder:
name: Update standard builder
runs-on: ubuntu-latest
concurrency:
group: standard-builder
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx
# v3.10.0
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash standard-builder/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
standard-builder-with-pcre:
name: Update standard builder with pcre
runs-on: ubuntu-latest
concurrency:
group: standard-builder-with-pcre
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
- name: Set up Docker Buildx
# v3.10.0
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash standard-builder-with-pcre/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
standard-builder-with-libressl_4_2_0-amd64:
needs:
- standard-builder
name: Update standard-builder-with-libressl-4.2.0 on amd64
runs-on: ubuntu-latest
concurrency:
group: standard-builder-with-libressl_4_2_0-amd64
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash standard-builder-with-libressl-4.2.0/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
standard-builder-with-libressl_4_2_0-arm64:
needs:
- standard-builder
name: Update standard-builder-with-libressl-4.2.0 on arm64
runs-on: ubuntu-24.04-arm
concurrency:
group: standard-builder-with-libressl_4_2_0-arm
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash standard-builder-with-libressl-4.2.0/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
merge-standard-builder-with-libressl_4_2_0:
needs:
- standard-builder-with-libressl_4_2_0-amd64
- standard-builder-with-libressl_4_2_0-arm64
name: Create merged standard-builder-with-libressl-4.2.0
runs-on: ubuntu-latest
concurrency:
group: merge-standard-builder-with-libressl_4_2_0
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Merge
run: bash standard-builder-with-libressl-4.2.0/combine-images.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
standard-builder-with-openssl_3_6_0-amd64:
needs:
- standard-builder
name: Update standard-builder-with-openssl-3.6.0 on amd64
runs-on: ubuntu-latest
concurrency:
group: standard-builder-with-openssl_3_6_0-amd64
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash standard-builder-with-openssl-3.6.0/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
standard-builder-with-openssl_3_6_0-arm64:
needs:
- standard-builder
name: Update standard-builder-with-openssl-3.6.0 on arm64
runs-on: ubuntu-24.04-arm
concurrency:
group: standard-builder-with-openssl_3_6_0-arm64
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash standard-builder-with-openssl-3.6.0/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
merge-standard-builder-with-openssl_3_6_0:
needs:
- standard-builder-with-openssl_3_6_0-amd64
- standard-builder-with-openssl_3_6_0-arm64
name: Create merged standard-builder-with-openssl-3.6.0
runs-on: ubuntu-latest
concurrency:
group: merge-standard-builder-with-openssl_3_6_0
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Merge
run: bash standard-builder-with-openssl-3.6.0/combine-images.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
x86-64-unknown-linux-builder-with-libressl_3_9_2:
needs:
- standard-builder
name: Update x86-64-unknown-linux-builder-with-libressl-3.9.2
runs-on: ubuntu-latest
concurrency:
group: x86-64-unknown-linux-builder-with-libressl_3_9_2
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash x86-64-unknown-linux-builder-with-libressl-3.9.2/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
x86-64-unknown-linux-builder-with-openssl_1_1_1w:
needs:
- standard-builder
name: Update x86-64-unknown-linux-builder-with-openssl_1.1.1w
runs-on: ubuntu-latest
concurrency:
group: x86-64-unknown-linux-builder-with-openssl_1_1_1w
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash x86-64-unknown-linux-builder-with-openssl_1.1.1w/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
x86-64-unknown-linux-builder-with-openssl_3_4_1:
needs:
- standard-builder
name: Update x86-64-unknown-linux-builder-with-openssl_3.4.1
runs-on: ubuntu-latest
concurrency:
group: x86-64-unknown-linux-builder-with-openssl_3_4_1
cancel-in-progress: true
steps:
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@5139682d94efc37792e6b54386b5b470a68a4737
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash x86-64-unknown-linux-builder-with-openssl_3.4.1/build-and-push.bash
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
send-builders-updated-event:
needs:
- standard-builder
- standard-builder-with-pcre
- merge-standard-builder-with-libressl_4_2_0
- merge-standard-builder-with-openssl_3_6_0
- x86-64-unknown-linux-builder-with-libressl_3_9_2
- x86-64-unknown-linux-builder-with-openssl_1_1_1w
- x86-64-unknown-linux-builder-with-openssl_3_4_1
name: Send 'shared-docker-linux-builders-updated' event
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
repo:
- ergl/pony-protobuf
- ponylang/appdirs
- ponylang/changelog-tool
- ponylang/corral
- ponylang/fork_join
- ponylang/github_rest_api
- ponylang/glob
- ponylang/http
- ponylang/http_server
- ponylang/json
- ponylang/logger
- ponylang/lori
- ponylang/peg
- ponylang/pony-sync-helper
- ponylang/ponydoc
- ponylang/ponyup
- ponylang/postgres
- ponylang/reactive_streams
- ponylang/regex
- ponylang/rfc-tool
- ponylang/semver
- ponylang/ssl
- ponylang/templates
- ponylang/valbytes
- seantallen-org/credo
- seantallen-org/msgpack
steps:
- name: Send
# v2.1.1
uses: peter-evans/repository-dispatch@8324ecf35877f9b02961dd5aaf43ed7be7db9373
with:
token: ${{ secrets.PONYLANG_MAIN_API_TOKEN }}
repository: ${{ matrix.repo }}
event-type: shared-docker-builders-updated
client-payload: '{}'
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.
# prune legacy images
prune-untagged-builder-images:
needs:
- send-builders-updated-event
name: Prune untagged builder images
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
image:
- shared-docker-ci-x86-64-unknown-linux-builder-with-libressl-3.9.2
- shared-docker-ci-x86-64-unknown-linux-builder-with-libressl-4.0.0
- shared-docker-ci-x86-64-unknown-linux-builder-with-openssl_1.1.1w
- shared-docker-ci-x86-64-unknown-linux-builder-with-openssl_3.4.1
steps:
- name: Prune
# v4.1.1
uses: actions/delete-package-versions@0d39a63126868f5eefaa47169615edd3c0f61e20
with:
package-name: ${{ matrix.image }}
package-type: 'container'
min-versions-to-keep: 1
delete-only-untagged-versions: 'true'
- name: Send alert on failure
if: ${{ failure() }}
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5
with:
api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }}
email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }}
organization-url: 'https://ponylang.zulipchat.com/'
to: notifications
type: stream
topic: ${{ github.repository }} scheduled job failure
content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed.