From e03de979ac705f667cbea678cd479dee24cb15cb Mon Sep 17 00:00:00 2001 From: Charles Moore <122481442+moorec-aws@users.noreply.github.com> Date: Fri, 19 Apr 2024 11:36:29 -0500 Subject: [PATCH 01/19] ci: update codebuild names in workflows (#299) Signed-off-by: Charles Moore <122481442+moorec-aws@users.noreply.github.com> --- .github/workflows/mainline_integration_test.yml | 2 +- .github/workflows/release_integration_canary.yml | 2 +- .github/workflows/release_publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/mainline_integration_test.yml b/.github/workflows/mainline_integration_test.yml index 688a133e..35b7bf0c 100644 --- a/.github/workflows/mainline_integration_test.yml +++ b/.github/workflows/mainline_integration_test.yml @@ -46,7 +46,7 @@ jobs: - name: Run CodeBuild uses: aws-actions/aws-codebuild-run-build@v1 with: - project-name: deadline-cloud-worker-agent-dev-IntegTest + project-name: deadline-cloud-worker-agent-mainline-IntegTest hide-cloudwatch-logs: true env-vars-for-codebuild: | TEST_TYPE diff --git a/.github/workflows/release_integration_canary.yml b/.github/workflows/release_integration_canary.yml index 3342a0eb..b5545cc2 100644 --- a/.github/workflows/release_integration_canary.yml +++ b/.github/workflows/release_integration_canary.yml @@ -44,6 +44,6 @@ jobs: - name: Run CodeBuild uses: aws-actions/aws-codebuild-run-build@v1 with: - project-name: deadline-cloud-worker-agent-Canary + project-name: deadline-cloud-worker-agent-release-Canary source-version-override: release hide-cloudwatch-logs: true \ No newline at end of file diff --git a/.github/workflows/release_publish.yml b/.github/workflows/release_publish.yml index 7ed226f3..67ac32a2 100644 --- a/.github/workflows/release_publish.yml +++ b/.github/workflows/release_publish.yml @@ -136,7 +136,7 @@ jobs: - name: Run CodeBuild uses: aws-actions/aws-codebuild-run-build@v1 with: - project-name: ${{ github.event.repository.name }}-Publish + project-name: ${{ github.event.repository.name }}-release-Publish hide-cloudwatch-logs: true PublishToRepository: From 7018ee419723b0dc3c6a44e94941f0797ed96b7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 09:32:40 -0500 Subject: [PATCH 02/19] chore(deps): update ruff requirement from ~=0.3.5 to ~=0.4.1 (#301) Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.3.5...v0.4.1) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 08ce40b9..95c094a9 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -10,6 +10,6 @@ rich == 13.7.* types-python-dateutil ~= 2.9 mypy ~= 1.9 types-requests ~= 2.31 -ruff ~= 0.3.5 +ruff ~= 0.4.1 twine ~= 5.0 types-psutil ~= 5.9 \ No newline at end of file From 093c9d9bd6be70658f3dd58c34cab3783038aeb9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 09:38:54 -0500 Subject: [PATCH 03/19] chore(deps): update black[jupyter] requirement from ~=24.3 to ~=24.4 (#296) Updates the requirements on [black[jupyter]](https://github.com/psf/black) to permit the latest version. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/24.3.0...24.4.0) --- updated-dependencies: - dependency-name: black[jupyter] dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 95c094a9..781cccaa 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -5,7 +5,7 @@ pytest ~= 8.1 pytest-cov == 5.0.* pytest-timeout == 2.3.* pytest-xdist == 3.5.* -black[jupyter] ~= 24.3 +black[jupyter] ~= 24.4 rich == 13.7.* types-python-dateutil ~= 2.9 mypy ~= 1.9 From 28c8875ea375995a1659ac605332aa1e819adafa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 09:45:27 -0500 Subject: [PATCH 04/19] chore(deps): update python-semantic-release requirement (#302) Updates the requirements on [python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) to permit the latest version. - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v9.4.0...v9.5.0) --- updated-dependencies: - dependency-name: python-semantic-release dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-release.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-release.txt b/requirements-release.txt index 18a6daa6..7b880d86 100644 --- a/requirements-release.txt +++ b/requirements-release.txt @@ -1 +1 @@ -python-semantic-release == 9.4.* \ No newline at end of file +python-semantic-release == 9.5.* \ No newline at end of file From 01326f78a93f76386b4a0ef8253909127726c66f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:05:47 -0500 Subject: [PATCH 05/19] chore(deps): update deadline requirement from ==0.47.* to ==0.48.* (#306) Updates the requirements on [deadline](https://github.com/aws-deadline/deadline-cloud) to permit the latest version. - [Release notes](https://github.com/aws-deadline/deadline-cloud/releases) - [Changelog](https://github.com/aws-deadline/deadline-cloud/blob/mainline/CHANGELOG.md) - [Commits](https://github.com/aws-deadline/deadline-cloud/compare/0.47.0...0.48.0) --- updated-dependencies: - dependency-name: deadline dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index abd071f5..19579282 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ license = "Apache-2.0" dependencies = [ "requests ~= 2.31", "boto3 >= 1.34.75", - "deadline == 0.47.*", + "deadline == 0.48.*", "openjd-sessions == 0.7.*", # tomli became tomllib in standard library in Python 3.11 "tomli == 2.0.* ; python_version<'3.11'", From 4778e9d39f196a06fa5bc5e1f614b02bed370dd4 Mon Sep 17 00:00:00 2001 From: Charles Moore <122481442+moorec-aws@users.noreply.github.com> Date: Tue, 30 Apr 2024 08:31:58 -0500 Subject: [PATCH 06/19] ci: change to reusable workflows (#305) Signed-off-by: Charles Moore <122481442+moorec-aws@users.noreply.github.com> --- .github/workflows/code_quality.yml | 17 +- .../workflows/mainline_integration_test.yml | 28 +-- .github/workflows/release_bump.yml | 105 ++--------- .../workflows/release_integration_canary.yml | 26 +-- .github/workflows/release_publish.yml | 170 +----------------- .github/workflows/reuse_python_build.yml | 56 ------ .github/workflows/windows_integration.yml | 23 --- 7 files changed, 50 insertions(+), 375 deletions(-) delete mode 100644 .github/workflows/reuse_python_build.yml delete mode 100644 .github/workflows/windows_integration.yml diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code_quality.yml index 3f83ef6f..69a2c69f 100644 --- a/.github/workflows/code_quality.yml +++ b/.github/workflows/code_quality.yml @@ -3,9 +3,20 @@ name: Code Quality on: pull_request: branches: [ mainline, feature_windows ] + workflow_call: + inputs: + branch: + required: false + type: string jobs: Test: - name: Code Quality - uses: ./.github/workflows/reuse_python_build.yml - secrets: inherit + name: Python + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + python-version: ['3.9', '3.10', '3.11'] + uses: aws-deadline/.github/.github/workflows/reusable_python_build.yml@mainline + with: + os: ${{ matrix.os }} + python-version: ${{ matrix.python-version }} \ No newline at end of file diff --git a/.github/workflows/mainline_integration_test.yml b/.github/workflows/mainline_integration_test.yml index 35b7bf0c..0d36ef86 100644 --- a/.github/workflows/mainline_integration_test.yml +++ b/.github/workflows/mainline_integration_test.yml @@ -11,7 +11,6 @@ jobs: name: Windows Integration Tests runs-on: windows-latest permissions: - id-token: write contents: read strategy: matrix: @@ -28,27 +27,12 @@ jobs: MainlineIntegrationTest: name: Integration Test - runs-on: ubuntu-latest - environment: mainline permissions: id-token: write contents: read - steps: - - uses: actions/checkout@v4 - with: - ref: mainline - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_CODEBUILD_MAINLINE_INTEG_ROLE }} - aws-region: us-west-2 - mask-aws-account-id: true - - name: Run CodeBuild - uses: aws-actions/aws-codebuild-run-build@v1 - with: - project-name: deadline-cloud-worker-agent-mainline-IntegTest - hide-cloudwatch-logs: true - env-vars-for-codebuild: | - TEST_TYPE - env: - TEST_TYPE: WHEEL \ No newline at end of file + uses: aws-deadline/.github/.github/workflows/reusable_integration_test.yml@mainline + secrets: inherit + with: + repository: ${{ github.event.repository.name }} + branch: mainline + environment: mainline \ No newline at end of file diff --git a/.github/workflows/release_bump.yml b/.github/workflows/release_bump.yml index 71adff30..e34334f6 100644 --- a/.github/workflows/release_bump.yml +++ b/.github/workflows/release_bump.yml @@ -16,10 +16,9 @@ on: jobs: UnitTests: name: Unit Tests - uses: ./.github/workflows/reuse_python_build.yml + uses: ./.github/workflows/code_quality.yml with: - commit: ${{ github.sha }} - secrets: inherit + branch: mainline WindowsIntegrationTests: needs: UnitTests @@ -45,97 +44,21 @@ jobs: IntegrationTests: needs: UnitTests - name: Integration Tests - runs-on: ubuntu-latest - environment: release + name: Integration Test permissions: id-token: write contents: read - steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.sha }} - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_CODEBUILD_RELEASE_INTEG_ROLE }} - aws-region: us-west-2 - mask-aws-account-id: true - - - name: Run CodeBuild - uses: aws-actions/aws-codebuild-run-build@v1 - with: - project-name: deadline-cloud-worker-agent-IntegTest - hide-cloudwatch-logs: true - env-vars-for-codebuild: | - TEST_TYPE - env: - TEST_TYPE: WHEEL + uses: aws-deadline/.github/.github/workflows/reusable_integration_test.yml@mainline + secrets: inherit + with: + repository: ${{ github.event.repository.name }} + branch: mainline + environment: mainline Bump: needs: IntegrationTests - runs-on: ubuntu-latest - environment: release - permissions: - contents: write - pull-requests: write - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: mainline - fetch-depth: 0 - token: ${{ secrets.CI_TOKEN }} - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.9' - - - name: ConfigureGit - run: | - git config --local user.email "129794699+client-software-ci@users.noreply.github.com" - git config --local user.name "client-software-ci" - - - name: Bump - run: | - BUMP_ARGS="" - if [[ "${{ inputs.force_version_bump }}" != "" ]]; then - BUMP_ARGS="$BUMP_ARGS --${{ inputs.force_version_bump }}" - fi - - # Backup actual changelog to preserve its contents - touch CHANGELOG.md - cp CHANGELOG.md CHANGELOG.bak.md - - # Run semantic-release to generate new changelog - pip install --upgrade hatch - hatch env create release - hatch run release:deps - NEXT_SEMVER=$(hatch run release:bump $BUMP_ARGS) - - # Grab the new version's changelog and prepend it to the original changelog contents - python .github/scripts/get_latest_changelog.py > NEW_LOG.md - cat NEW_LOG.md CHANGELOG.bak.md > CHANGELOG.md - rm NEW_LOG.md - - git checkout -b bump/$NEXT_SEMVER - git add CHANGELOG.md - git commit -sm "chore(release): $NEXT_SEMVER" - - echo "NEXT_SEMVER=$NEXT_SEMVER" >> $GITHUB_ENV - { - echo 'RELEASE_NOTES<> $GITHUB_ENV - - - name: PushPR - env: - GH_TOKEN: ${{ secrets.CI_TOKEN }} - run: | - git push -u origin bump/$NEXT_SEMVER - - # Needs "Allow GitHub Actions to create and approve pull requests" under Settings > Actions - gh pr create --base mainline --title "chore(release): $NEXT_SEMVER" --body "$RELEASE_NOTES" + name: Version Bump + uses: aws-deadline/.github/.github/workflows/reusable_bump.yml@mainline + secrets: inherit + with: + force_version_bump: ${{ inputs.force_version_bump }} \ No newline at end of file diff --git a/.github/workflows/release_integration_canary.yml b/.github/workflows/release_integration_canary.yml index b5545cc2..d170ac1c 100644 --- a/.github/workflows/release_integration_canary.yml +++ b/.github/workflows/release_integration_canary.yml @@ -10,7 +10,6 @@ jobs: name: Windows Integration Tests runs-on: windows-latest permissions: - id-token: write contents: read strategy: matrix: @@ -26,24 +25,13 @@ jobs: run: hatch run integ-windows ReleaseIntegrationCanary: - runs-on: ubuntu-latest - environment: canary + name: Release Canary permissions: id-token: write contents: read - steps: - - uses: actions/checkout@v4 - with: - ref: release - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_CODEBUILD_RELEASE_CANARY_ROLE }} - aws-region: us-west-2 - mask-aws-account-id: true - - name: Run CodeBuild - uses: aws-actions/aws-codebuild-run-build@v1 - with: - project-name: deadline-cloud-worker-agent-release-Canary - source-version-override: release - hide-cloudwatch-logs: true \ No newline at end of file + uses: aws-deadline/.github/.github/workflows/reusable_canary.yml@mainline + secrets: inherit + with: + repository: ${{ github.event.repository.name }} + branch: release + environment: canary \ No newline at end of file diff --git a/.github/workflows/release_publish.yml b/.github/workflows/release_publish.yml index 67ac32a2..a8a49c5b 100644 --- a/.github/workflows/release_publish.yml +++ b/.github/workflows/release_publish.yml @@ -12,189 +12,37 @@ concurrency: group: release jobs: - VerifyCommit: - runs-on: ubuntu-latest - permissions: - contents: read - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ github.ref }} - fetch-depth: 0 - - - name: VerifyAuthor - run: | - EXPECTED_AUTHOR="129794699+client-software-ci@users.noreply.github.com" - AUTHOR=$(git show -s --format='%ae' HEAD) - if [[ $AUTHOR != $EXPECTED_AUTHOR ]]; then - echo "ERROR: Expected author email to be '$EXPECTED_AUTHOR', but got '$AUTHOR'. Aborting release." - exit 1 - else - echo "Verified author email ($AUTHOR) is as expected ($EXPECTED_AUTHOR)" - fi - - Release: - needs: VerifyCommit - runs-on: ubuntu-latest - environment: release + Publish: + name: Publish Release permissions: id-token: write contents: write - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: release - fetch-depth: 0 - token: ${{ secrets.CI_TOKEN }} - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.9' - - - name: ConfigureGit - run: | - git config --local user.email "129794699+client-software-ci@users.noreply.github.com" - git config --local user.name "client-software-ci" - - - name: MergePushRelease - run: | - git merge --ff-only origin/mainline -v - git push origin release - - - name: PrepRelease - id: prep-release - run: | - COMMIT_TITLE=$(git show -s --format='%s' HEAD) - NEXT_SEMVER=$(python -c 'import sys, re; print(re.match(r"chore\(release\): ([0-9]+\.[0-9]+\.[0-9]+).*", sys.argv[1]).group(1))' "$COMMIT_TITLE") - - # The format of the tag must match the pattern in pyproject.toml -> tool.semantic_release.tag_format - TAG="$NEXT_SEMVER" - - git tag -a $TAG -m "Release $TAG" - - echo "TAG=$TAG" >> $GITHUB_ENV - echo "NEXT_SEMVER=$NEXT_SEMVER" >> $GITHUB_ENV - { - echo 'RELEASE_NOTES<> $GITHUB_ENV - - # Tag must be made before building so the generated _version.py files have the correct version - - name: Build - run: | - pip install --upgrade hatch - hatch -v build - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_PGP_KEY_SECRET_ROLE }} - aws-region: us-west-2 - mask-aws-account-id: true - - - name: Import PGP Key - run: | - export SECRET_STRING="$(aws secretsmanager get-secret-value --secret-id ${{ secrets.AWS_PGP_KEY_SECRET }} --query 'SecretString')" - printenv SECRET_STRING | jq -r '. | fromjson | .PrivateKey' | gpg --batch --pinentry-mode loopback --import --armor - - PGP_KEY_PASSPHRASE=$(printenv SECRET_STRING | jq -r '. | fromjson | .Passphrase') - echo "::add-mask::$PGP_KEY_PASSPHRASE" - echo "PGP_KEY_PASSPHRASE=$PGP_KEY_PASSPHRASE" >> $GITHUB_ENV - - - name: Sign - run: | - for file in dist/*; do - printenv PGP_KEY_PASSPHRASE | gpg --batch --pinentry-mode loopback --local-user "AWS Deadline Cloud" --passphrase-fd 0 --output $file.sig --detach-sign $file - echo "Created signature file for $file" - done - - - name: PushRelease - env: - GH_TOKEN: ${{ secrets.CI_TOKEN }} - run: | - git push origin $TAG - gh release create $TAG dist/* --notes "$RELEASE_NOTES" - - PublishToInternal: - needs: Release + uses: aws-deadline/.github/.github/workflows/reusable_publish.yml@mainline + secrets: inherit + # PyPI does not support reusable workflows yet + # # See https://github.com/pypi/warehouse/issues/11096 + PublishToPyPI: + needs: Publish runs-on: ubuntu-latest environment: release permissions: id-token: write - steps: - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_CODEBUILD_RELEASE_PUBLISH_ROLE }} - aws-region: us-west-2 - mask-aws-account-id: true - - - name: Run CodeBuild - uses: aws-actions/aws-codebuild-run-build@v1 - with: - project-name: ${{ github.event.repository.name }}-release-Publish - hide-cloudwatch-logs: true - - PublishToRepository: - needs: Release - runs-on: ubuntu-latest - environment: release - permissions: - id-token: write - contents: read - env: - CODEARTIFACT_REGION: "us-west-2" - CODEARTIFACT_DOMAIN: ${{ secrets.CODEARTIFACT_DOMAIN }} - CODEARTIFACT_ACCOUNT_ID: ${{ secrets.CODEARTIFACT_ACCOUNT_ID }} - CODEARTIFACT_REPOSITORY: ${{ secrets.CODEARTIFACT_REPOSITORY }} - CUSTOMER_DOMAIN: ${{ secrets.CUSTOMER_DOMAIN }} - CUSTOMER_REPOSITORY: ${{ secrets.CUSTOMER_REPOSITORY }} steps: - name: Checkout uses: actions/checkout@v4 with: ref: release fetch-depth: 0 - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: ${{ secrets.AWS_CODEARTIFACT_ROLE }} - aws-region: us-west-2 - mask-aws-account-id: true - - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.9' - - name: Install dependencies run: | pip install --upgrade hatch - pip install --upgrade twine - - name: Build run: hatch -v build - - - name: Publish to Repository - run: | - export TWINE_USERNAME=aws - export TWINE_PASSWORD=`aws codeartifact get-authorization-token --domain ${{ secrets.CODEARTIFACT_DOMAIN }} --domain-owner ${{ secrets.CODEARTIFACT_ACCOUNT_ID }} --query authorizationToken --output text` - export TWINE_REPOSITORY_URL=`aws codeartifact get-repository-endpoint --domain ${{ secrets.CODEARTIFACT_DOMAIN }} --domain-owner ${{ secrets.CODEARTIFACT_ACCOUNT_ID }} --repository ${{ secrets.CODEARTIFACT_REPOSITORY }} --format pypi --query repositoryEndpoint --output text` - twine upload dist/* - - - name: Publish to Customer Repository - run: | - export TWINE_USERNAME=aws - export TWINE_PASSWORD=`aws codeartifact get-authorization-token --domain ${{ secrets.CUSTOMER_DOMAIN }} --domain-owner ${{ secrets.CODEARTIFACT_ACCOUNT_ID }} --query authorizationToken --output text` - export TWINE_REPOSITORY_URL=`aws codeartifact get-repository-endpoint --domain ${{ secrets.CUSTOMER_DOMAIN }} --domain-owner ${{ secrets.CODEARTIFACT_ACCOUNT_ID }} --repository ${{ secrets.CUSTOMER_REPOSITORY }} --format pypi --query repositoryEndpoint --output text` - twine upload dist/* - # # See https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-pypi - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 - + diff --git a/.github/workflows/reuse_python_build.yml b/.github/workflows/reuse_python_build.yml deleted file mode 100644 index 4b717d82..00000000 --- a/.github/workflows/reuse_python_build.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Python Build - -on: - workflow_call: - inputs: - branch: - required: false - type: string - commit: - required: false - type: string - -jobs: - Python: - runs-on: ${{ matrix.os }} - permissions: - id-token: write - contents: read - strategy: - matrix: - python-version: ['3.9', '3.10', '3.11'] - os: [ubuntu-latest, macOS-latest, windows-latest] - env: - PYTHON: ${{ matrix.python-version }} - steps: - - uses: actions/checkout@v4 - if: ${{ !inputs.branch && !inputs.commit }} - - - uses: actions/checkout@v4 - if: ${{ inputs.branch }} - with: - ref: ${{ inputs.branch }} - fetch-depth: 0 - - - uses: actions/checkout@v4 - if: ${{ inputs.commit }} - with: - ref: ${{ inputs.commit }} - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Install Hatch - run: | - pip install --upgrade hatch - - - name: Run Linting - run: hatch -v run lint - - - name: Run Build - run: hatch -v build - - - name: Run Tests - run: hatch run test diff --git a/.github/workflows/windows_integration.yml b/.github/workflows/windows_integration.yml deleted file mode 100644 index 54667ea7..00000000 --- a/.github/workflows/windows_integration.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Windows Integration Tests - -on: - workflow_dispatch: - -jobs: - WindowsIntegrationTests: - runs-on: windows-latest - permissions: - id-token: write - contents: read - strategy: - matrix: - python-version: ['3.9', '3.10', '3.11'] - steps: - - uses: actions/checkout@v4 - - - name: Install Hatch - run: | - pip install --upgrade hatch - - - name: Run Windows Integration Tests - run: hatch run integ-windows From 69a31561cd814df9c7dc509e55bc5320fb6191ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 09:43:36 -0500 Subject: [PATCH 07/19] chore(deps): update pytest requirement from ~=8.1 to ~=8.2 (#309) Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.1.0...8.2.0) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 781cccaa..0c3ad22e 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -1,7 +1,7 @@ coverage[toml] ~= 7.4 coverage-conditional-plugin == 0.9.* deadline-cloud-test-fixtures == 0.6.* -pytest ~= 8.1 +pytest ~= 8.2 pytest-cov == 5.0.* pytest-timeout == 2.3.* pytest-xdist == 3.5.* From 454c1141bc0c0f1ce5664636ae50cfaa1e49ff5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 09:51:52 -0500 Subject: [PATCH 08/19] chore(deps): update pytest-xdist requirement from ==3.5.* to ==3.6.* (#310) Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. - [Release notes](https://github.com/pytest-dev/pytest-xdist/releases) - [Changelog](https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest-xdist/compare/v3.5.0...v3.6.1) --- updated-dependencies: - dependency-name: pytest-xdist dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 0c3ad22e..c13e355e 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -4,7 +4,7 @@ deadline-cloud-test-fixtures == 0.6.* pytest ~= 8.2 pytest-cov == 5.0.* pytest-timeout == 2.3.* -pytest-xdist == 3.5.* +pytest-xdist == 3.6.* black[jupyter] ~= 24.4 rich == 13.7.* types-python-dateutil ~= 2.9 From 1ed9dcabcb93e6ff2cc9e9af4d3a833a00234477 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 10:15:53 -0500 Subject: [PATCH 09/19] chore(deps): update ruff requirement from ~=0.4.1 to ~=0.4.2 (#307) Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.4.1...v0.4.2) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index c13e355e..69a01903 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -10,6 +10,6 @@ rich == 13.7.* types-python-dateutil ~= 2.9 mypy ~= 1.9 types-requests ~= 2.31 -ruff ~= 0.4.1 +ruff ~= 0.4.2 twine ~= 5.0 types-psutil ~= 5.9 \ No newline at end of file From 5bcb118aa96eb6cf973871801cf069e728f35c46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 10:25:05 -0500 Subject: [PATCH 10/19] chore(deps): update coverage[toml] requirement from ~=7.4 to ~=7.5 (#303) Updates the requirements on [coverage[toml]](https://github.com/nedbat/coveragepy) to permit the latest version. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](https://github.com/nedbat/coveragepy/compare/7.4.0...7.5.0) --- updated-dependencies: - dependency-name: coverage[toml] dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 69a01903..7b292ab5 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -1,4 +1,4 @@ -coverage[toml] ~= 7.4 +coverage[toml] ~= 7.5 coverage-conditional-plugin == 0.9.* deadline-cloud-test-fixtures == 0.6.* pytest ~= 8.2 From 7c111fb1f33fa2622b2594ac5c2b9199cadd472c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 15:52:16 -0500 Subject: [PATCH 11/19] chore(deps): update mypy requirement from ~=1.9 to ~=1.10 (#304) Updates the requirements on [mypy](https://github.com/python/mypy) to permit the latest version. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 7b292ab5..b7d0ad37 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -8,7 +8,7 @@ pytest-xdist == 3.6.* black[jupyter] ~= 24.4 rich == 13.7.* types-python-dateutil ~= 2.9 -mypy ~= 1.9 +mypy ~= 1.10 types-requests ~= 2.31 ruff ~= 0.4.2 twine ~= 5.0 From 136504e4d37e9c706679bcf5c75b229d9f5aa322 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 11:22:58 -0500 Subject: [PATCH 12/19] chore(deps): update python-semantic-release requirement (#311) Updates the requirements on [python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) to permit the latest version. - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v9.5.0...v9.6.0) --- updated-dependencies: - dependency-name: python-semantic-release dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-release.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-release.txt b/requirements-release.txt index 7b880d86..bc3b146b 100644 --- a/requirements-release.txt +++ b/requirements-release.txt @@ -1 +1 @@ -python-semantic-release == 9.5.* \ No newline at end of file +python-semantic-release == 9.6.* \ No newline at end of file From 7df2ae658614bcd80d32a24fc88faf24cf8fdc48 Mon Sep 17 00:00:00 2001 From: client-software-ci <129794699+client-software-ci@users.noreply.github.com> Date: Wed, 1 May 2024 15:15:49 -0500 Subject: [PATCH 13/19] chore(release): 0.27.1 (#312) Signed-off-by: client-software-ci --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ac2e8ed..89dfa57d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.27.1 (2024-05-01) + +### Dependencies +* update deadline requirement from ==0.47.* to ==0.48.* (#306) ([`01326f7`](https://github.com/aws-deadline/deadline-cloud-worker-agent/commit/01326f78a93f76386b4a0ef8253909127726c66f)) + + ## 0.27.0 (2024-04-10) ### BREAKING CHANGES From 5c40bcd57b8e77dfbbb3a8f13dfb27a6c7719b1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 28 May 2024 16:51:48 -0500 Subject: [PATCH 14/19] chore(deps): update matplotlib requirement from ==3.8.* to ==3.9.* (#316) Updates the requirements on [matplotlib](https://github.com/matplotlib/matplotlib) to permit the latest version. - [Release notes](https://github.com/matplotlib/matplotlib/releases) - [Commits](https://github.com/matplotlib/matplotlib/compare/v3.8.0rc1...v3.9.0) --- updated-dependencies: - dependency-name: matplotlib dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-research.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-research.txt b/requirements-research.txt index 5ab2f872..e044485c 100644 --- a/requirements-research.txt +++ b/requirements-research.txt @@ -1,3 +1,3 @@ ipykernel==6.29.* -matplotlib==3.8.* +matplotlib==3.9.* pandas==2.2.* From a6377beefc4e5a2c661b083576a5418908bcdeeb Mon Sep 17 00:00:00 2001 From: amarsjac <131478790+amarsjac@users.noreply.github.com> Date: Wed, 29 May 2024 09:56:00 -0500 Subject: [PATCH 15/19] chore: fix retry formula to conform to botocore(70514ef) (#323) Signed-off-by: Marshall Jackson --- test/unit/boto/test_retries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/boto/test_retries.py b/test/unit/boto/test_retries.py index 07037d9d..0ab74e23 100644 --- a/test/unit/boto/test_retries.py +++ b/test/unit/boto/test_retries.py @@ -66,7 +66,7 @@ def test_delay( random_between=random_between, ) if is_exponential: - expected = min(max_backoff, random_value * base ** (attempt_number - 1)) + expected = random_value * min(max_backoff, base ** (attempt_number - 1)) else: expected = random_value From 9fd4c8c58281f6058038e9fefddbc8d0dd69bc3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 08:40:59 -0500 Subject: [PATCH 16/19] chore(deps): update twine requirement from ~=5.0 to ~=5.1 (#317) Updates the requirements on [twine](https://github.com/pypa/twine) to permit the latest version. - [Release notes](https://github.com/pypa/twine/releases) - [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst) - [Commits](https://github.com/pypa/twine/compare/5.0.0...5.1.0) --- updated-dependencies: - dependency-name: twine dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index b7d0ad37..48f41872 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -11,5 +11,5 @@ types-python-dateutil ~= 2.9 mypy ~= 1.10 types-requests ~= 2.31 ruff ~= 0.4.2 -twine ~= 5.0 +twine ~= 5.1 types-psutil ~= 5.9 \ No newline at end of file From 6114b655bf84dee3d3eb345a525b770448b31795 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 08:50:25 -0500 Subject: [PATCH 17/19] chore(deps): update python-semantic-release requirement (#320) Updates the requirements on [python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) to permit the latest version. - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v9.6.0...v9.8.0) --- updated-dependencies: - dependency-name: python-semantic-release dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-release.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-release.txt b/requirements-release.txt index bc3b146b..c09d81be 100644 --- a/requirements-release.txt +++ b/requirements-release.txt @@ -1 +1 @@ -python-semantic-release == 9.6.* \ No newline at end of file +python-semantic-release == 9.8.* \ No newline at end of file From 68dfc2c9c0521cca47ad1ff3bbe06fd323c18852 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 May 2024 08:56:14 -0500 Subject: [PATCH 18/19] chore(deps): update ruff requirement from ~=0.4.2 to ~=0.4.6 (#321) Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.4.2...v0.4.6) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- requirements-testing.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-testing.txt b/requirements-testing.txt index 48f41872..01c0f25f 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -10,6 +10,6 @@ rich == 13.7.* types-python-dateutil ~= 2.9 mypy ~= 1.10 types-requests ~= 2.31 -ruff ~= 0.4.2 +ruff ~= 0.4.6 twine ~= 5.1 types-psutil ~= 5.9 \ No newline at end of file From b5418023eac24cf6cdbdea6bcfba7fe3eeb597bd Mon Sep 17 00:00:00 2001 From: Josh Usiskin <56369778+jusiskin@users.noreply.github.com> Date: Fri, 31 May 2024 11:54:35 -0500 Subject: [PATCH 19/19] docs: fix incorrect default log path on Linux/MacOS (#324) Signed-off-by: Josh Usiskin <56369778+jusiskin@users.noreply.github.com> --- docs/logging.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/logging.md b/docs/logging.md index 6416a27e..6e67e73e 100644 --- a/docs/logging.md +++ b/docs/logging.md @@ -14,8 +14,8 @@ The default locations for worker logs are: | Platform | Default worker log path | | --- | --- | -| Linux | `/var/log/amazon/deadline/logs` | -| MacOS | `/var/log/amazon/deadline/logs` | +| Linux | `/var/log/amazon/deadline` | +| MacOS | `/var/log/amazon/deadline` | | Windows | `C:\ProgramData\Amazon\Deadline\Logs` | The worker agent maintains two sets of rotating log files: @@ -88,4 +88,4 @@ worker session created in your account. The CloudWatch log group and stream are: **Log group name:** `/aws/deadline///` **Log stream name:** `` -As the worker session runs, the agent uploads its logs to this CloudWatch log stream. \ No newline at end of file +As the worker session runs, the agent uploads its logs to this CloudWatch log stream.