mirror of
https://github.com/aws-actions/configure-aws-credentials.git
synced 2026-08-30 05:25:06 +09:00
feat!: Initial v2 commit
* Implemented editorconfig * Switched to ESM * Switched to a TypeScript workflow * Switched to projen for project management * Major code refactor * TODO: need tests
This commit is contained in:
Generated
+75
@@ -0,0 +1,75 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
||||
|
||||
name: build
|
||||
on:
|
||||
pull_request: {}
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
outputs:
|
||||
self_mutation_happened: ${{ steps.self_mutation.outputs.self_mutation_happened }}
|
||||
env:
|
||||
CI: "true"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.0.0
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
- name: build
|
||||
run: npx projen build
|
||||
- name: Find mutations
|
||||
id: self_mutation
|
||||
run: |-
|
||||
git add .
|
||||
git diff --staged --patch --exit-code > .repo.patch || echo "::set-output name=self_mutation_happened::true"
|
||||
- name: Upload patch
|
||||
if: steps.self_mutation.outputs.self_mutation_happened
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: .repo.patch
|
||||
- name: Fail build on mutation
|
||||
if: steps.self_mutation.outputs.self_mutation_happened
|
||||
run: |-
|
||||
echo "::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch."
|
||||
cat .repo.patch
|
||||
exit 1
|
||||
self-mutation:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
if: always() && needs.build.outputs.self_mutation_happened && !(github.event.pull_request.head.repo.full_name != github.repository)
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Download patch
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: ${{ runner.temp }}
|
||||
- name: Apply patch
|
||||
run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
|
||||
- name: Set git identity
|
||||
run: |-
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
- name: Push changes
|
||||
run: |2-
|
||||
git add .
|
||||
git commit -s -m "chore: self mutation"
|
||||
git push origin HEAD:${{ github.event.pull_request.head.ref }}
|
||||
@@ -1,16 +0,0 @@
|
||||
on:
|
||||
[pull_request]
|
||||
|
||||
name: Check
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Run Unit Tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Run tests
|
||||
run: |
|
||||
npm ci
|
||||
npm test
|
||||
@@ -1,51 +0,0 @@
|
||||
name: "Close Stale Issues"
|
||||
|
||||
# Controls when the action will run.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 */4 * * *"
|
||||
|
||||
jobs:
|
||||
cleanup:
|
||||
permissions:
|
||||
issues: write
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
name: Stale issue job
|
||||
steps:
|
||||
- uses: aws-actions/stale-issue-cleanup@v5
|
||||
with:
|
||||
# Setting messages to an empty string will cause the automation to skip
|
||||
# that category
|
||||
ancient-issue-message: This issue has not received any attention in 1 year. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
|
||||
stale-issue-message: This issue has not received a response in a while. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
|
||||
stale-pr-message: This PR has not received a response in a while. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.
|
||||
|
||||
# These labels are required
|
||||
stale-issue-label: closing-soon
|
||||
exempt-issue-labels: no-autoclose
|
||||
stale-pr-label: closing-soon
|
||||
exempt-pr-labels: no-autoclose
|
||||
response-requested-label: response-requested
|
||||
|
||||
# Don't set closed-for-staleness label to skip closing very old issues
|
||||
# regardless of label
|
||||
closed-for-staleness-label: closed-for-staleness
|
||||
|
||||
# Issue timing
|
||||
days-before-stale: 5
|
||||
days-before-close: 2
|
||||
days-before-ancient: 365
|
||||
|
||||
# If you don't want to mark a issue as being ancient based on a
|
||||
# threshold of "upvotes", you can set this here. An "upvote" is
|
||||
# the total number of +1, heart, hooray, and rocket reactions
|
||||
# on an issue.
|
||||
minimum-upvotes-to-exempt: 5
|
||||
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
loglevel: DEBUG
|
||||
# Set dry-run to true to not perform label or close actions.
|
||||
dry-run: false
|
||||
@@ -1,19 +0,0 @@
|
||||
name: Closed Issue Message
|
||||
on:
|
||||
issues:
|
||||
types: [closed]
|
||||
jobs:
|
||||
auto_comment:
|
||||
permissions:
|
||||
issues: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: aws-actions/closed-issue-message@v1
|
||||
with:
|
||||
# These inputs are both required
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
message: |
|
||||
### ⚠️Comment Visibility Warning⚠️
|
||||
Comments on closed issues are hard for our team to see.
|
||||
If you need more assistance, please either tag a team member or open a new issue that references this one.
|
||||
If you wish to keep having a conversation with other community members under this issue feel free to do so.
|
||||
@@ -1,71 +0,0 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '0 0 * * 2'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['javascript']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
@@ -1,27 +0,0 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
name: Package
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: Package distribution file
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: master
|
||||
- name: Package
|
||||
run: |
|
||||
npm ci
|
||||
npm test
|
||||
npm run package
|
||||
- name: Commit
|
||||
run: |
|
||||
git config --global user.name "GitHub Actions"
|
||||
git add dist/
|
||||
git commit -m "chore: Update dist" || echo "No changes to commit"
|
||||
git push origin HEAD:master
|
||||
Generated
+28
@@ -0,0 +1,28 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
||||
|
||||
name: pull-request-lint
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- labeled
|
||||
- opened
|
||||
- synchronize
|
||||
- reopened
|
||||
- ready_for_review
|
||||
- edited
|
||||
jobs:
|
||||
validate:
|
||||
name: Validate PR title
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v4.5.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
types: |-
|
||||
feat
|
||||
fix
|
||||
chore
|
||||
requireScope: false
|
||||
Generated
+86
@@ -0,0 +1,86 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
||||
|
||||
name: release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch: {}
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
outputs:
|
||||
latest_commit: ${{ steps.git_remote.outputs.latest_commit }}
|
||||
env:
|
||||
CI: "true"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set git identity
|
||||
run: |-
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.0.0
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- name: release
|
||||
run: npx projen release
|
||||
- name: Check for new commits
|
||||
id: git_remote
|
||||
run: echo ::set-output name=latest_commit::"$(git ls-remote origin -h ${{ github.ref }} | cut -f1)"
|
||||
- name: Backup artifact permissions
|
||||
if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
|
||||
run: cd dist && getfacl -R . > permissions-backup.acl
|
||||
continue-on-error: true
|
||||
- name: Upload artifact
|
||||
if: ${{ steps.git_remote.outputs.latest_commit == github.sha }}
|
||||
uses: actions/upload-artifact@v2.1.1
|
||||
with:
|
||||
name: build-artifact
|
||||
path: dist
|
||||
release_github:
|
||||
name: Publish to GitHub Releases
|
||||
needs: release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
issues: write
|
||||
if: needs.release.outputs.latest_commit == github.sha
|
||||
steps:
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.0.0
|
||||
- name: Download build artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: build-artifact
|
||||
path: dist
|
||||
- name: Restore build artifact permissions
|
||||
run: cd dist && setfacl --restore=permissions-backup.acl
|
||||
continue-on-error: true
|
||||
- name: Release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
GITHUB_REF: ${{ github.ref }}
|
||||
run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.md -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi
|
||||
- name: Extract Version
|
||||
id: extract-version
|
||||
if: ${{ failure() }}
|
||||
run: echo "::set-output name=VERSION::$(cat dist/version.txt)"
|
||||
- name: Create Issue
|
||||
if: ${{ failure() }}
|
||||
uses: imjohnbo/issue-bot@v3
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
labels: failed-release
|
||||
title: Publishing v${{ steps.extract-version.outputs.VERSION }} to GitHub Releases failed
|
||||
body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
Generated
+92
@@ -0,0 +1,92 @@
|
||||
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
||||
|
||||
name: upgrade-main
|
||||
on:
|
||||
workflow_dispatch: {}
|
||||
schedule:
|
||||
- cron: 0 0 * * *
|
||||
jobs:
|
||||
upgrade:
|
||||
name: Upgrade
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
outputs:
|
||||
patch_created: ${{ steps.create_patch.outputs.patch_created }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: main
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.0.0
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- name: Upgrade dependencies
|
||||
run: npx projen upgrade
|
||||
- name: Find mutations
|
||||
id: create_patch
|
||||
run: |-
|
||||
git add .
|
||||
git diff --staged --patch --exit-code > .repo.patch || echo "::set-output name=patch_created::true"
|
||||
- name: Upload patch
|
||||
if: steps.create_patch.outputs.patch_created
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: .repo.patch
|
||||
pr:
|
||||
name: Create Pull Request
|
||||
needs: upgrade
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
if: ${{ needs.upgrade.outputs.patch_created }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
||||
ref: main
|
||||
- name: Download patch
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: .repo.patch
|
||||
path: ${{ runner.temp }}
|
||||
- name: Apply patch
|
||||
run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
|
||||
- name: Set git identity
|
||||
run: |-
|
||||
git config user.name "github-actions"
|
||||
git config user.email "github-actions@github.com"
|
||||
- name: Create Pull Request
|
||||
id: create-pr
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
||||
commit-message: |-
|
||||
chore(deps): upgrade dependencies
|
||||
|
||||
Upgrades project dependencies. See details in [workflow run].
|
||||
|
||||
[Workflow Run]: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
------
|
||||
|
||||
*Automatically created by projen via the "upgrade-main" workflow*
|
||||
branch: github-actions/upgrade-main
|
||||
title: "chore(deps): upgrade dependencies"
|
||||
body: |-
|
||||
Upgrades project dependencies. See details in [workflow run].
|
||||
|
||||
[Workflow Run]: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
------
|
||||
|
||||
*Automatically created by projen via the "upgrade-main" workflow*
|
||||
author: github-actions <github-actions@github.com>
|
||||
committer: github-actions <github-actions@github.com>
|
||||
signoff: true
|
||||
Reference in New Issue
Block a user