Skip to content
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

CI #1

Merged
merged 2 commits into from
Nov 3, 2023
Merged

CI #1

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
21 changes: 21 additions & 0 deletions .github/code_of_conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Architect Code of Conduct

We are strongly committed to ensuring the Architect community, and the various online and offline spaces in which its members congregate and collaborate, are safe, positive, inclusive, constructive, and welcoming environments.

As such, the Architect project adheres to the [OpenJS Foundation Code of Conduct](https://github.com/openjs-foundation/cross-project-council/blob/master/CODE_OF_CONDUCT.md), which itself adheres to the [Contributor Covenant](https://www.contributor-covenant.org).

Lack of familiarity with this or the OpenJS Foundation Codes of Conduct, or the Contributor covenant, is not an excuse for non-adherence.


# Reporting
If you are the subject of any behavior prohibited by this Code of Conduct, or observe someone who is, please contact an Architect team member immediately.

If you know an Architect team member, you may wish to contact them personally (and you should); but if not, please [contact us via email](mailto:[email protected]).

If possible, please attempt to collect any relevant information and evidence, including links, screenshots, or other recordings of any incident.

Reports will be handled with the utmost care, confidence, and sensitivity towards the individual(s) reporting.


# Enforcement
Should incidents arise, upon adjudication those found to be in violation of this Code of Conduct may be immediately expelled from the Architect community, including events, forums, chat workspaces, code repositories, and any other place where Architect community members collaborate.
8 changes: 8 additions & 0 deletions .github/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Contributing

## First: go read the [Architect Code of Conduct](/.github/code_of_conduct.md)

### Agreement to the Architect Code of Conduct
By participating in and contributing to the Architect community — including, but not limited to its open source projects, any related online venues such as GitHub, Slack, and in-person events, etc. — you agree to the [Architect Code of Conduct](/.github/code_of_conduct.md).

Lack of familiarity with this Code of Conduct is not an excuse for not adhering to it.
22 changes: 22 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Thank you for helping out! ✨

### We really appreciate your commitment to improving Architect

To maintain a high standard of quality in our releases, before merging every pull request we ask that you've completed the following:

- [ ] Forked the repo and created your branch from `master`
- [ ] Made sure tests pass (run `npm it` from the repo root)
- [ ] Expanded test coverage related to your changes:
- [ ] Added and/or updated unit tests (if appropriate)
- [ ] Added and/or updated integration tests (if appropriate)
- [ ] Updated relevant documentation:
- [ ] Internal to this repo (e.g. `readme.md`, help docs, inline docs & comments, etc.)
- [ ] [Architect docs (arc.codes)](https://github.com/architect/arc.codes)
- [ ] Summarized your changes in `changelog.md`
- [ ] Linked to any related issues, PRs, etc. below that may relate to, consume, or necessitate these changes

Please also be sure to completed the CLA (if you haven't already).

Learn more about [contributing to Architect here](https://arc.codes/intro/community).

Thanks again!
96 changes: 96 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Node CI

# Push tests pushes; PR tests merges
on: [ push, pull_request ]

defaults:
run:
shell: bash

jobs:
# Test the build
build:
# Setup
runs-on: ubuntu-latest

# Go
steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: lts/*

- name: Env
shell: bash
run: |
echo "Event name: ${{ github.event_name }}"
echo "Git ref: ${{ github.ref }}"
echo "GH actor: ${{ github.actor }}"
echo "SHA: ${{ github.sha }}"
VER=`node --version`; echo "Node ver: $VER"
VER=`npm --version`; echo "npm ver: $VER"

- name: Install dependencies
run: npm install

- name: Hydrate
run: npx arc hydrate

- name: Test
run: npm test

# Assuming all that went fine (and it's main): deploy!
deploy:
# Setup
needs: build
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest

# Go
steps:
- name: Check out repo
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: lts/*

- name: Install dependencies
run: npm install

- name: Staging deploy
if: github.ref == 'refs/heads/main'
run: npx arc deploy --staging
env:
CI: true
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}

- name: Production deploy
if: startsWith(github.ref, 'refs/tags/v')
run: npx arc deploy --production
env:
CI: true
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}

- name: Staging metrics
if: github.ref == 'refs/heads/main'
run: npm run bench
env:
CI: true
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}

- name: Notify
uses: sarisia/actions-status-discord@v1
if: always()
with:
webhook: ${{ secrets.DISCORD_WEBHOOK }}
title: "deploy build"
color: 0x222222
username: GitHub Actions
16 changes: 15 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
{
"name": "@aws-lite/benchmarks",
"version": "0.0.0",
"description": "Generates and publishes performance metrics for JavaScript AWS SDKs",
"homepage": "https://github.com/architect/aws-lite-benchmarks",
"repository": {
"type": "git",
"url": "https://github.com/architect/aws-lite-benchmarks"
},
"bugs": "https://github.com/architect/aws-lite/issues",
"scripts": {
"bench": "node bench/index.mjs",
"lint": "eslint --fix .",
"start": "arc sandbox"
"start": "arc sandbox",
"test": "npm run lint"
},
"engines": {
"node": ">=16"
},
"license": "Apache-2.0",
"dependencies": {
"@architect/architect": "^10.16.0",
"@architect/eslint-config": "^2.1.2",
Expand Down