Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
150638c
feat(scale-set): isolate orchestration provider module
edersonbrilhante Sep 17, 2026
c87e2b8
fix(scale-set): validate compute task policy
edersonbrilhante Sep 17, 2026
344736c
docs: auto update terraform docs
github-actions[bot] Sep 17, 2026
0379201
fix(scale-set): use declared task policy for quota validation
edersonbrilhante Sep 17, 2026
98693b4
docs: auto update terraform docs
github-actions[bot] Sep 17, 2026
527dadd
feat(scale-set): wire orchestration through runner config (#5350)
edersonbrilhante Sep 17, 2026
49db3b5
test(examples): add scale-set orchestration example (#5405)
edersonbrilhante Sep 17, 2026
c91d8ca
fix(scale-set): remove invalid policy validation reference
edersonbrilhante Sep 17, 2026
5b52346
ci: fix multi runner scaleset test
edersonbrilhante Sep 17, 2026
0710bc3
docs: auto update terraform docs
github-actions[bot] Sep 17, 2026
ec123d2
fix: fix tests
edersonbrilhante Sep 17, 2026
283484b
docs: auto update terraform docs
github-actions[bot] Sep 17, 2026
99ae1bc
fix: fix validations
edersonbrilhante Sep 17, 2026
4d8cffa
fix(multi-runner): validate scale-set installation inputs
edersonbrilhante Sep 18, 2026
ea91c63
test: fix example and test
edersonbrilhante Sep 18, 2026
3310bd8
test: fix tofu test
edersonbrilhante Sep 18, 2026
4256d6f
test: add fixture to support tofu tests
edersonbrilhante Sep 18, 2026
f0fa1e8
docs: auto update terraform docs
edersonbrilhante Sep 18, 2026
852b92e
feat(scale-set): add service controller (#5300)
edersonbrilhante Sep 21, 2026
1799908
Merge branch 'main' into feat-scale-set-terraform
edersonbrilhante Sep 21, 2026
cf6b86a
docs: auto update terraform docs
github-actions[bot] Sep 21, 2026
c4c7811
Merge remote-tracking branch 'origin/main' into feat-scale-set-terraform
edersonbrilhante Sep 22, 2026
f4c2ce4
docs: auto update terraform docs
github-actions[bot] Sep 22, 2026
fa85df7
fix: fix conflicts
edersonbrilhante Sep 22, 2026
ddda517
fix: fix conflicts
edersonbrilhante Sep 22, 2026
17a07eb
Merge branch 'main' into feat-scale-set-terraform
edersonbrilhante Sep 23, 2026
23c988f
docs: auto update terraform docs
github-actions[bot] Sep 23, 2026
8a9498c
Merge branch 'main' into feat-scale-set-terraform
edersonbrilhante Sep 23, 2026
7a7bc88
docs: auto update terraform docs
github-actions[bot] Sep 23, 2026
87d888a
ci: move script to tests folder
edersonbrilhante Sep 25, 2026
2a3e1f5
Merge branch 'main' into feat-scale-set-terraform
edersonbrilhante Sep 25, 2026
3adfa57
ci: undo change in release pipeline
edersonbrilhante Sep 25, 2026
b4f975c
Merge remote-tracking branch 'origin/feat-scale-set-terraform' into f…
edersonbrilhante Sep 25, 2026
06991f6
ci: undo changes in .github/dependabot.yml
edersonbrilhante Sep 25, 2026
db2c3fb
ci: undo changes in .pre-commit-config.yaml
edersonbrilhante Sep 25, 2026
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
49 changes: 49 additions & 0 deletions .github/workflows/lambda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
pull_request:
paths:
- 'lambdas/**'
- '.github/scripts/**'
- '.github/workflows/lambda.yml'

concurrency:
Expand Down Expand Up @@ -32,21 +33,69 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Run prettier
run: yarn format-check

- name: Run linter
run: yarn lint

- name: Run tests
id: test
run: yarn test

- name: Build distribution
run: yarn build

- name: Upload coverage report
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ failure() }}
with:
name: coverage-reports
path: ./**/coverage
retention-days: 5

scale-set-container:
name: Build scale-set service container
runs-on: ubuntu-latest
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 # v2.19.4
with:
egress-policy: audit

- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Set up QEMU
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0

- name: Build scale-set service image
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
file: ./lambdas/services/scale-set/Dockerfile
platforms: linux/amd64,linux/arm64
push: false
cache-from: type=gha,scope=scale-set-service
cache-to: type=gha,mode=max,scope=scale-set-service

- name: Build scale-set service image for smoke test
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: .
file: ./lambdas/services/scale-set/Dockerfile
platforms: linux/amd64
load: true
tags: scale-set-service:smoke-test
cache-from: type=gha,scope=scale-set-service

- name: Run scale-set service image smoke test
run: ./tests/scale-set-container-smoke-test.sh
3 changes: 2 additions & 1 deletion .github/workflows/ministack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
- ephemeral
- multi-runner
- multi-runner-v2
- multi-runner-scale-set
- migration-test
- termination-watcher
services:
Expand Down Expand Up @@ -114,4 +115,4 @@ jobs:
EXAMPLE: ${{ matrix.example }}
IAC_BINARY: ${{ matrix.iac.binary }}
IAC_LOCK_FILE: ${{ matrix.iac.lockfile }}
run: tests/ministack/run-example.sh destroy "$EXAMPLE"
run: tests/ministack/run-example.sh destroy "$EXAMPLE"
75 changes: 75 additions & 0 deletions .github/workflows/smoke-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,78 @@ jobs:
MINISTACK_GITHUB_MOCK_PORT: "1080"
MINISTACK_GITHUB_MOCK_URL: ${{ steps.mockserver.outputs.url }}
run: sh tests/ministack/run-smoke.sh

scale_set_integration_smoke:
name: Run scale-set ECS smoke test against MiniStack and MockServer
runs-on: ubuntu-latest
timeout-minutes: 30
services:
ministack:
image: ghcr.io/ministackorg/ministack:1.5.12@sha256:41fe1ce2e666c6cc410c6047a9db8bf1df69cd0028ebc0a6c6e5517c3a83d6e0
ports:
- 4566:4566
options: >-
--add-host=host.docker.internal:host-gateway
--volume /var/run/docker.sock:/var/run/docker.sock
env:
MINISTACK_ACCOUNT_ID: "000000000000"
MINISTACK_REGION: eu-west-1
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@e14015d583714f6e62063499dc959a02595150a1 # v2.21.1
with:
egress-policy: audit

- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: lambdas/.nvmrc
package-manager-cache: false

- name: Setup Terraform
uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4.0.1
with:
terraform_version: latest
terraform_wrapper: false

- name: Install Lambda dependencies
working-directory: lambdas
run: yarn install --frozen-lockfile

- name: Build smoke-test Lambda distributions
working-directory: lambdas
run: |
yarn workspace @aws-github-runner/webhook dist
yarn workspace @aws-github-runner/control-plane dist

- name: Start MockServer
id: mockserver
uses: mock-server/setup-mockserver@24612c2ccef1f83d587f331ed77cc5cef441e0b1 # v1.0.0
with:
version: '7.6.0@sha256:80b3b1a26f3553d0c81a3f3896b5b7274c17b2a2e52f0fd2b28e246bc9efa290'
port: '1080'
startup-timeout: '60'

- name: Connect MockServer to MiniStack network
shell: bash
run: |
set -euo pipefail
ministack_container="$(docker ps --format '{{.ID}} {{.Image}}' | awk '$2 ~ /ministack/ {print $1; exit}')"
network="$(docker inspect --format '{{range $name, $_ := .NetworkSettings.Networks}}{{println $name}}{{end}}' "$ministack_container" | sed -n '1p')"
docker network connect --alias mockserver "$network" mockserver

- name: Mark repository as safe
shell: sh
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Run scale-set ECS/MockServer smoke test
env:
MINISTACK_GITHUB_MOCK_HOST: mockserver
MINISTACK_GITHUB_MOCK_PORT: "1080"
MINISTACK_GITHUB_MOCK_URL: ${{ steps.mockserver.outputs.url }}
run: sh tests/ministack/run-scale-set-integration.sh
Loading
Loading