-
Notifications
You must be signed in to change notification settings - Fork 5
v1.3.0 #120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.3.0 #120
Changes from all commits
5f830da
bbbd218
a4a8d3f
c85b3d3
1359dee
fb8cf0d
9a59833
bee7273
9d9b4b4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Code Owners | ||
|
|
||
| <!-- TODO: Who are the points of contact in your project who are responsible/accountable for the project? This can often be an engineering or design manager or leader, who may or may not be the primary maintainers of the project. List them by GitHub Username--> | ||
|
|
||
| [@sachin-panayil](https://github.com/sachin-panayil) | ||
| [@natalialuzuriaga](https://github.com/natalialuzuriaga) | ||
|
|
||
| ## Repository Domains | ||
|
|
||
| /src/types - [@natalialuzuriaga](https://github.com/natalialuzuriaga) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| name: Lint | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - main | ||
| - dev | ||
|
|
||
| jobs: | ||
| eslint: | ||
| name: ESLint | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repo | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Node | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 20 | ||
| cache: npm | ||
|
|
||
| - name: Install dependencies | ||
| run: npm ci | ||
|
|
||
| - name: Run ESLint | ||
| run: npm run lint | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| name: Require release label for main PRs | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oooo this action is super neat, great for automating and reinforcing release practices especially since it is dealing with main. Might take this for repo-scaffolder |
||
|
|
||
| on: | ||
| pull_request: | ||
| types: | ||
| - opened | ||
| - reopened | ||
| - synchronize | ||
| - labeled | ||
| - unlabeled | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| pull-requests: read | ||
|
|
||
| jobs: | ||
| require-release-label: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Check for release label | ||
| uses: actions/github-script@v7 | ||
| with: | ||
| script: | | ||
| const labels = context.payload.pull_request.labels.map(l => l.name); | ||
|
|
||
| const allowed = [ | ||
| 'release:patch', | ||
| 'release:minor', | ||
| 'release:major', | ||
| 'release:none' | ||
| ]; | ||
|
|
||
| const found = labels.filter(l => allowed.includes(l)); | ||
|
|
||
| if (found.length === 0) { | ||
| core.setFailed( | ||
| "Missing release label. Add one of: " + | ||
| "release:patch | release:minor | release:major | release:none" | ||
| ); | ||
| } | ||
|
|
||
| if (found.length > 1) { | ||
| core.setFailed( | ||
| "Multiple release labels found. Exactly one is required." | ||
| ); | ||
| } | ||
|
|
||
| console.log(`Release label OK: ${found[0]}`); | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,98 @@ | ||
| name: Release a New Verison | ||
|
|
||
| on: | ||
| pull_request: | ||
| types: [closed] | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| contents: write | ||
| pull-requests: read | ||
|
|
||
| jobs: | ||
| release: | ||
| if: github.event.pull_request.merged == true | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Get release label | ||
| id: label | ||
| run: | | ||
| labels='${{ toJson(github.event.pull_request.labels) }}' | ||
|
|
||
| if echo "$labels" | grep -q 'release:major'; then | ||
| echo "bump=major" >> $GITHUB_OUTPUT | ||
| elif echo "$labels" | grep -q 'release:minor'; then | ||
| echo "bump=minor" >> $GITHUB_OUTPUT | ||
| elif echo "$labels" | grep -q 'release:patch'; then | ||
| echo "bump=patch" >> $GITHUB_OUTPUT | ||
| elif echo "$labels" | grep -q 'release:none'; then | ||
| echo "bump=none" >> $GITHUB_OUTPUT | ||
| else | ||
| echo "No release label found. Add one of:" | ||
| echo "release:patch | release:minor | release:major | release:none" | ||
| exit 1 | ||
| fi | ||
|
|
||
| - name: Exit if no release needed | ||
| if: steps.label.outputs.bump == 'none' | ||
| run: | | ||
| echo "No release requested. Exiting." | ||
| exit 0 | ||
|
|
||
| - name: Get latest version tag | ||
| id: version | ||
| run: | | ||
| latest=$(git tag --list 'v*' --sort=-v:refname | head -n 1) | ||
| echo "latest=$latest" >> $GITHUB_OUTPUT | ||
|
|
||
| - name: Calculate next version | ||
| id: next | ||
| run: | | ||
| version=${{ steps.version.outputs.latest }} | ||
| bump=${{ steps.label.outputs.bump }} | ||
|
|
||
| version=${version#v} | ||
| IFS='.' read -r major minor patch <<< "$version" | ||
|
|
||
| case "$bump" in | ||
| major) | ||
| major=$((major+1)) | ||
| minor=0 | ||
| patch=0 | ||
| ;; | ||
| minor) | ||
| minor=$((minor+1)) | ||
| patch=0 | ||
| ;; | ||
| patch) | ||
| patch=$((patch+1)) | ||
| ;; | ||
| esac | ||
|
|
||
| next="v$major.$minor.$patch" | ||
| echo "next=$next" >> $GITHUB_OUTPUT | ||
|
|
||
| - name: Create version tag | ||
| run: | | ||
| git tag ${{ steps.next.outputs.next }} | ||
| git push origin ${{ steps.next.outputs.next }} | ||
|
|
||
| - name: Update moving major tag (v1) | ||
| run: | | ||
| major=$(echo "${{ steps.next.outputs.next }}" | cut -d. -f1) | ||
| git tag -f $major | ||
| git push origin $major --force | ||
|
|
||
| - name: Create GitHub Release | ||
| uses: softprops/action-gh-release@v1 | ||
| with: | ||
| tag_name: ${{ steps.next.outputs.next }} | ||
| name: Release ${{ steps.next.outputs.next }} | ||
| generate_release_notes: true | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this repo use auto CHANGELOG? May be worth adding a step to update the CHANGELOG right after release creation here. Or you can use a separate workflow file (auto-changelog.yml) for this which we provide in our templates. I use this workflow in repo-scaffolder and it's super convenient: https://github.com/DSACMS/repo-scaffolder/blob/main/CHANGELOG.md
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oooo also one thing you should do before cutting a release: make sure you review issues and close those that have been completed in the release because it will show up accordingly in the CHANGELOG!
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ive been using the Github generated changelog but its a good idea to include a seperate one for sure! |
||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,144 @@ | ||
| # COMMUNITY.md | ||
|
|
||
| automated-codejson-generator is supported by a dedicated team of individuals fulfilling various roles to ensure its success, security, and alignment with government standards and agency goals. | ||
|
|
||
| ## Project Members | ||
|
|
||
| <!-- TODO: Who are the points of contact in your project who are responsible/accountable for the project? This can often be an engineering or design manager or leader, who may or may not be the primary maintainers of the project. | ||
|
|
||
| Roles to include, but not limited to: Project Owner, Technical Lead, Developers/Contributors, Community Manager, Security Team, Policy Advisor, Contracting Officer's Representative, Compliance Officer, Procurement Officer --> | ||
|
|
||
| | Role | Name | Affiliation | | ||
| | :---------------- | :------------------ | :---------- | | ||
| | Open Source Lead | Remy DeCausemaker | DSAC | | ||
| | Software Engineer | Sachin Panayil | DSAC | | ||
| | Software Engineer | Natalia Luzuriaga | DSAC | | ||
| | Software Engineer | Isaac Milarsky | DSAC | | ||
| | Software Engineer | Dinne Kopelevich | DSAC | | ||
|
|
||
| See [CODEOWNERS.md](.github/CODEOWNERS.md) for a list of those responsible for the code and documentation in this repository. | ||
|
|
||
| See [Community Guidelines](COMMUNITY.md) on principles and guidelines for participating in this open source project. | ||
|
|
||
| ## Roles & Responsibilities | ||
|
|
||
| The members of automated-codejson-generator community are responsible for guiding its development, ensuring quality standards, and fostering a collaborative environment. They play a vital role in making decisions about code contributions, handling releases, and ensuring the project meets its goals and objectives. Below is a list of the key members and their specific roles and responsibilities. We are eagerly seeking individuals who are interested in joining the community and helping shape and support these roles. | ||
|
|
||
| ### Maintainers: | ||
|
|
||
| GitHub Action | ||
|
|
||
| - [@sachin-panayil](https://github.com/sachin-panayil) | ||
|
|
||
| Scripting | ||
|
|
||
| - [@sachin-panayil](https://github.com/sachin-panayil) | ||
|
|
||
| ### Approvers: | ||
|
|
||
| - [@decause-gov](https://github.com/decause-gov) | ||
|
|
||
| ### Reviewers: | ||
|
|
||
| - [@natalialuzuriaga](https://github.com/natalialuzuriaga) | ||
| - [@IsaacMilarky](https://github.com/IsaacMilarky) | ||
| - [@sachin-panayil](https://github.com/sachin-panayil) | ||
| - [@DinneK](https://github.com/DinneK) | ||
|
|
||
| | Roles | Responsibilities | Requirements | Defined by | | ||
| | ---------- | :--------------------------------------------- | :-------------------------------------------------------------------------------- | :-------------------------------------------------------- | | ||
| | member | active contributor in the community | multiple contributions to the project. | PROJECT GitHub org Committer Team | | ||
| | reviewer | review contributions from other members | history of review and authorship in a sub-project | COMMUNITY file reviewer entry, and GitHub Org Triage Team | | ||
| | approver | approve accepting contributions | highly experienced and active reviewer + contributor to a sub-project | COMMUNITY file approver entry and GitHub Triage Team | | ||
| | maintainer | set direction and priorities for a sub-project | demonstrated responsibility and excellent technical judgement for the sub-project | COMMUNITY file owner entry and GitHub Org Admin Team | | ||
|
|
||
| See [CONTRIBUTING.md](CONTRIBUTING.md) for more details on the release process. | ||
|
|
||
| ## Contributors | ||
|
|
||
| <!-- TODO: A list of CONTRIBUTORS is generated below using contributors.yml located in the workflows directory. In order to automatically update the COMMUNITY.md, you must enter a secret into your Secrets and Variables under Actions within your repository settings. The name of the secret must be PUSH_TO_PROTECTED_BRANCH and the value must be a Personal Access Token with specific permissions. Please follow [this link](https://github.com/CasperWA/push-protected?tab=readme-ov-file#notes-on-token-and-user-permissions) for more information. --> | ||
|
|
||
| ) | ||
|
|
||
| <!-- readme: contributors -start --> | ||
| <table> | ||
| <tbody> | ||
| <tr> | ||
| <td align="center"> | ||
| <a href="https://github.com/sachin-panayil"> | ||
| <img src="https://avatars.githubusercontent.com/u/79382140?v=4" width="100;" alt="sachin-panayil"/> | ||
| <br /> | ||
| <sub><b>Sachin Panayil</b></sub> | ||
| </a> | ||
| </td> | ||
| <td align="center"> | ||
| <a href="https://github.com/natalialuzuriaga"> | ||
| <img src="https://avatars.githubusercontent.com/u/29980737?v=4" width="100;" alt="natalialuzuriaga"/> | ||
| <br /> | ||
| <sub><b>Natalia Luzuriaga</b></sub> | ||
| </a> | ||
| </td> | ||
| <td align="center"> | ||
| <a href="https://github.com/IsaacMilarky"> | ||
| <img src="https://avatars.githubusercontent.com/u/24639268?v=4" width="100;" alt="IsaacMilarky"/> | ||
| <br /> | ||
| <sub><b>Isaac Milarsky</b></sub> | ||
| </a> | ||
| </td> | ||
| <td align="center"> | ||
| <a href="https://github.com/mjburling"> | ||
| <img src="https://avatars.githubusercontent.com/u/905175?v=4" width="100;" alt="mjburling"/> | ||
| <br /> | ||
| <sub><b>Michael J Burling</b></sub> | ||
| </a> | ||
| </td> | ||
| </tr> | ||
| <tbody> | ||
| </table> | ||
| <!-- readme: contributors -end --> | ||
|
|
||
| <!-- | ||
| ### Alumni | ||
|
|
||
| TODO: Who are the past maintainers or contributors who previously played significant roles in this project who are no longer actively involved? Consider including their roles and dates for context. | ||
|
|
||
| We'd like to acknowledge the following individuals for their past contributions of this project: | ||
| --> | ||
|
|
||
| ## automated-codejson-generator Open Source Community Guidelines | ||
|
|
||
| This document contains principles and guidelines for participating in the automated-codejson-generator open source community. | ||
|
|
||
| ### Principles | ||
|
|
||
| These principles guide our data, product, and process decisions, architecture, and approach. | ||
|
|
||
| - Open means transparent and participatory. | ||
| - We take a modular and modern approach to software development. | ||
| - We build open-source software and open-source process. | ||
| - We value ease of implementation. | ||
| - Fostering community includes building capacity and making our software and processes accessible to participants with diverse backgrounds and skillsets. | ||
| - Data (and data science) is as important as software and process. We build open data sets where possible. | ||
| - We strive for transparency for algorithms and places we might be introducing bias. | ||
|
|
||
| ### Community Guidelines | ||
|
|
||
| All community members are expected to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md). | ||
|
|
||
| Information on contributing to this repository is available in our [Contributing file](CONTRIBUTING.md). | ||
|
|
||
| When participating in Code.json Auto Generator open source community conversations and spaces, we ask individuals to follow the following guidelines: | ||
|
|
||
| - When joining a conversation for the first time, please introduce yourself by providing a brief intro that includes: | ||
| - your related organization (if applicable) | ||
| - your pronouns | ||
| - your superpower, and how you hope to use it for automated-codejson-generator | ||
| - Embrace a culture of learning, and educate each other. We are all entering this conversation from different starting points and with different backgrounds. There are no dumb questions. | ||
| - Take space and give space. We strive to create an equitable environment in which all are welcome and able to participate. We hope individuals feel comfortable voicing their opinions and providing contributions and will do our best to recognize and make space for individuals who may be struggling to find space here. Likewise, we expect individuals to recognize when they are taking up significant space and take a step back to allow room for others. | ||
| <!-- TODO: Add if your repo has a community chat - Be present when joining synchronous conversations such as our community chat. Why be here if you're not going to _be here_? --> | ||
| - Be respectful. | ||
| - Default to positive. Assume others' contributions are legitimate and valuable and that they are made with good intention. | ||
|
|
||
| ### Acknowledgements | ||
|
|
||
| The Community Guidelines sections were originally forked from the [United States Digital Service](https://usds.gov) [Justice40](https://thejustice40.com) open source [repository](https://github.com/usds/justice40-tool), and we would like to acknowledge and thank the community for their contributions. |
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.