Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/block-needs-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Block needs-review merges

on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]

permissions:
pull-requests: read

jobs:
gate:
uses: awslabs/aws-crt-builder/.github/workflows/block-needs-review-label.yml@main
41 changes: 41 additions & 0 deletions .github/workflows/check-abi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Check ABI compliance

on:
pull_request:
types: [opened, synchronize, reopened]

concurrency:
group: check-abi-${{ github.event.pull_request.number }}
cancel-in-progress: true

env:
PACKAGE_NAME: aws-c-auth
CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }}
AWS_DEFAULT_REGION: us-east-1

permissions:
id-token: write
contents: read
pull-requests: write

jobs:
check-abi:
name: check-abi
runs-on: ubuntu-24.04
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ env.CRT_CI_ROLE }}
aws-region: ${{ env.AWS_DEFAULT_REGION }}

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check ABI
uses: awslabs/aws-crt-builder/.github/actions/check-abi@main
with:
lib-name: ${{ env.PACKAGE_NAME }}
builder-version: latest
builder-source: releases
40 changes: 40 additions & 0 deletions .github/workflows/release.yml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

somewhere, we need to document this.
Will it be a concern if multiple developer try to kick off the action?
can we do something to prevent the action to run when there is another one in progress?
the abi check will take time, and it needs to build the package, right?
What if the build fails or some random failure goes on (eg: pull deps fails)?
How will the dev find it out?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

somewhere, we need to document this.

There is a guidance doc available for cutting releases. Will update it with some last minute stuff but the core idea already of auto releases already exists.

Will it be a concern if multiple developer try to kick off the action?

Worst case scenario is two people try to run release at the same time, one person commits to main first and the other person's commit fails since we don't force push the branch. They would have to restart release.

ref: https://github.com/awslabs/aws-crt-builder/blob/0cb166b3cb3f3cee1b61e5139919e7d3a2adca51/.github/actions/auto-release/scripts/cut-release.sh#L94

the abi check will take time, and it needs to build the package, right?
What if the build fails or some random failure goes on (eg: pull deps fails)?
How will the dev find it out?

Release job provides logs: https://github.com/awslabs/aws-c-common/actions/runs/31543641609
the abi-check action uses the builder package to build, so if the CI passes, we should not really have any issues building for the ABI check. (https://github.com/awslabs/aws-crt-builder/blob/0cb166b3cb3f3cee1b61e5139919e7d3a2adca51/.github/actions/check-abi/scripts/build.sh#L91).
If the ABI check fails, the release fails and the dev would have to look through the logs to investigate.

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Release

on:
workflow_dispatch:
inputs:
dry-run:
description: 'Compute and summarize the bump/version but do not commit, tag, or publish anything.'
required: false
default: 'false'

env:
PACKAGE_NAME: aws-c-auth
CRT_CI_ROLE: ${{ secrets.CRT_CI_ROLE_ARN }}
AWS_DEFAULT_REGION: us-east-1

permissions:
id-token: write
contents: write
pull-requests: read

jobs:
release:
name: release
runs-on: ubuntu-24.04
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ env.CRT_CI_ROLE }}
aws-region: ${{ env.AWS_DEFAULT_REGION }}

- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Release
uses: awslabs/aws-crt-builder/.github/actions/auto-release@main
with:
lib-name: ${{ env.PACKAGE_NAME }}
dry-run: ${{ inputs.dry-run }}
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ aws_check_headers(${PROJECT_NAME} ${AWS_AUTH_ROOT_HEADERS})
aws_add_sanitizers(${PROJECT_NAME})

# We are not ABI stable yet
# TODO: switch to VERSION derived from the VERSION file (via aws_get_version) once SOVERSION is set explicitly, to avoid changing the SONAME.
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 1.0.0)

target_compile_definitions(${PROJECT_NAME} PRIVATE -DCJSON_HIDE_SYMBOLS)
Expand Down
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.10.3
Loading