Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
6329808
initial app
walshta Nov 21, 2023
4d41c9a
fix path issue
walshta Nov 21, 2023
8b8e5c2
reinitialize project due to broken links
walshta Nov 21, 2023
8061d76
add angular material
walshta Nov 21, 2023
5e84577
style change
walshta Dec 2, 2023
c8c3cb8
test workflow
walshta Dec 2, 2023
f668cd3
Merge branch 'alpha' into init
walshta Dec 2, 2023
99e9c2e
use npx to find ng
walshta Dec 2, 2023
73ce518
Merge remote-tracking branch 'origin/init' into init
walshta Dec 2, 2023
d455f93
fix spelling mistake
walshta Dec 2, 2023
c1b7f8d
add a proper display name
walshta Dec 2, 2023
6b8c195
externalize Karma configuration
walshta Dec 7, 2023
c911501
Add Semantic Release
walshta Dec 7, 2023
27e4e7b
CI/CD workflow
walshta Dec 7, 2023
3f33a6b
Add changelog generation
walshta Dec 7, 2023
b4dc628
fix assets issue
walshta Dec 8, 2023
22a2071
update permissions given to token
walshta Dec 8, 2023
3a2f873
remove bad option to grep
walshta Dec 8, 2023
7a5dcdc
feat: initial app
walshta Nov 21, 2023
9b8ca13
fix path issue
walshta Nov 21, 2023
41506cb
reinitialize project due to broken links
walshta Nov 21, 2023
1e62ae3
add angular material
walshta Nov 21, 2023
8c0c987
style change
walshta Dec 2, 2023
e8260db
test workflow
walshta Dec 2, 2023
d26cfa7
use npx to find ng
walshta Dec 2, 2023
f12207d
feat: initial project
walshta Nov 21, 2023
ce87d74
fix spelling mistake
walshta Dec 2, 2023
dfb28ac
add a proper display name
walshta Dec 2, 2023
8fe2140
externalize Karma configuration
walshta Dec 7, 2023
cb8155b
Add Semantic Release
walshta Dec 7, 2023
8ffc42f
CI/CD workflow
walshta Dec 7, 2023
c2a21ed
Add changelog generation
walshta Dec 7, 2023
80c65cb
fix assets issue
walshta Dec 8, 2023
52eb316
update permissions given to token
walshta Dec 8, 2023
45133f4
remove bad option to grep
walshta Dec 8, 2023
848bbbc
Merge remote-tracking branch 'origin/init' into init
walshta Dec 8, 2023
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
127 changes: 127 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: Continuous Delivery

on:
push:
branches: [ main, beta, alpha]

permissions:
contents: read

jobs:
version-info:
name: Version Info
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
contents: write
outputs:
currentVersion: ${{ steps.current-version.outputs.currentVersion }}
nextVersion: ${{ steps.next-version.outputs.currentVersion }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
run: npm audit signatures
- name: Get current version number
id: current-version
run: |
APP_VERSION=$(npm pkg get version --workspaces=false | tr -d \")
echo "currentVersion=${APP_VERSION}" >> "$GITHUB_OUTPUT"
- name: Get next version
id: next-version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
NEXT_VERSION_SPACES=$(npx semantic-release --dryRun | grep -o 'Published release \K.*? ')
NEXT_VERSION="${NEXT_VERSION_SPACES// /}" # Remove spaces
echo "nextVersion=${NEXT_VERSION}" >> "$GITHUB_OUTPUT"

test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ vars.NODE_VERSION }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Run Unit Tests
run: npx ng test --no-watch --no-progress --browsers=ChromeHeadless

sonar:
name: Sonar
runs-on: ubuntu-latest
needs: [version-info]
permissions:
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ vars.NODE_VERSION }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Run Unit Tests
run: npx ng test --no-watch --no-progress --browsers=ChromeHeadless --code-coverage
- name: Sonar Scan
uses: SonarSource/sonarcloud-github-action@2.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.organization=hobynye
-Dsonar.projectKey=hobynye_eligibility-tracker
-Dsonar.projectName='Eligibility Tracker'
-Dsonar.projectVersion=${{ needs.version-info.outputs.nextVersion }}
-Dsonar.javascript.lcov.reportPaths=./coverage/eligibility-tracker/lcov.info

release:
name: Release
runs-on: ubuntu-latest
needs: [sonar, test]
permissions:
contents: write
issues: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
run: npm audit signatures
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
GIT_AUTHOR_NAME: ${{ github.event.pusher.name }}
GIT_AUTHOR_EMAIL: ${{ github.event.pusher.email }}
GIT_COMMITTER_NAME: "HOBY New York East"
GIT_COMMITTER_EMAIL: "39279726+hobynye-admin@users.noreply.github.com"
run: npx semantic-release
97 changes: 97 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Continuous Integration

on:
pull_request:
branches: [main, beta, alpha]

permissions:
contents: read

jobs:
version-info:
name: Version Info
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
contents: write
outputs:
currentVersion: ${{ steps.current-version.outputs.currentVersion }}
nextVersion: ${{ steps.next-version.outputs.currentVersion }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
run: npm audit signatures
- name: Get current version number
id: current-version
run: |
APP_VERSION=$(npm pkg get version --workspaces=false | tr -d \")
echo "currentVersion=${APP_VERSION}" >> "$GITHUB_OUTPUT"
- name: Get next version
id: next-version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
NEXT_VERSION_SPACES=$(npx semantic-release --dryRun | grep -o 'Published release \K.*? ')
NEXT_VERSION="${NEXT_VERSION_SPACES// /}" # Remove spaces
echo "nextVersion=${NEXT_VERSION}" >> "$GITHUB_OUTPUT"

test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ vars.NODE_VERSION }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Run Unit Tests
run: npx ng test --no-watch --no-progress --browsers=ChromeHeadless

sonar:
name: Sonar
runs-on: ubuntu-latest
needs: [version-info]
permissions:
pull-requests: write
issues: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ vars.NODE_VERSION }}
cache: npm
- name: Install dependencies
run: npm ci
- name: Run Unit Tests
run: npx ng test --no-watch --no-progress --browsers=ChromeHeadless --code-coverage
- name: Sonar Scan
uses: SonarSource/sonarcloud-github-action@2.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.organization=hobynye
-Dsonar.projectKey=hobynye_eligibility-tracker
-Dsonar.projectName='Eligibility Tracker'
-Dsonar.projectVersion=${{ needs.version-info.outputs.currentVersion }}
-Dsonar.javascript.lcov.reportPaths=./coverage/eligibility-tracker/lcov.info
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,27 @@
# eligibility-tracker
Portal for submitting, tracking, and checking eligibility of volunteer staff for different HOBY events.
# EligibilityTracker

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.2.

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
3 changes: 2 additions & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@
"styles": [
"src/styles.css"
],
"scripts": []
"scripts": [],
"karmaConfig": "karma.conf.js"
}
}
}
Expand Down
40 changes: 40 additions & 0 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
jasmine: {
// you can add configuration options for Jasmine here
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
// for example, you can disable the random execution with `random: false`
// or set a specific seed with `seed: 4321`
},
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
jasmineHtmlReporter: {
suppressAll: true // removes the duplicated traces
},
coverageReporter: {
dir: require('path').join(__dirname, './coverage/eligibility-tracker'),
subdir: '.',
reporters: [
{ type: 'html', subdir: 'html' },
{ type: 'text-summary' },
{ type: 'lcovonly' }
]
},
reporters: ['progress', 'kjhtml'],
browsers: ['Chrome'],
restartOnFileChange: true
});
};
Loading