-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 2540dd1
Showing
111 changed files
with
14,195 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
version: 2.1 | ||
orbs: | ||
node: circleci/node@3.0.0 | ||
workflows: | ||
node-tests: | ||
jobs: | ||
- node/test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
version = 1 | ||
|
||
[[analyzers]] | ||
name = "python" | ||
enabled = true | ||
|
||
[analyzers.meta] | ||
runtime_version = "3.x.x" | ||
|
||
[[analyzers]] | ||
name = "test-coverage" | ||
enabled = true | ||
|
||
[[analyzers]] | ||
name = "docker" | ||
enabled = true | ||
|
||
[[analyzers]] | ||
name = "javascript" | ||
enabled = true | ||
|
||
[analyzers.meta] | ||
plugins = [ | ||
"react", | ||
"meteor", | ||
"vue", | ||
"angularjs", | ||
"ember", | ||
"angular" | ||
] | ||
|
||
[[analyzers]] | ||
name = "shell" | ||
enabled = true | ||
|
||
[[analyzers]] | ||
name = "java" | ||
enabled = true | ||
|
||
[analyzers.meta] | ||
runtime_version = "14" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# This workflow will build and push a node.js application to an Azure Web App when a release is created. | ||
# | ||
# This workflow assumes you have already created the target Azure App Service web app. | ||
# For instructions see https://docs.microsoft.com/azure/app-service/app-service-plan-manage#create-an-app-service-plan | ||
# | ||
# To configure this workflow: | ||
# | ||
# 1. For Linux apps, add an app setting called WEBSITE_WEBDEPLOY_USE_SCM and set it to true in your app **before downloading the file**. | ||
# For more instructions see: https://docs.microsoft.com/azure/app-service/configure-common#configure-app-settings | ||
# | ||
# 2. Set up a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE with the value of your Azure publish profile. | ||
# For instructions on obtaining the publish profile see: https://docs.microsoft.com/azure/app-service/deploy-github-actions#configure-the-github-secret | ||
# | ||
# 3. Change the values for the AZURE_WEBAPP_NAME, AZURE_WEBAPP_PACKAGE_PATH and NODE_VERSION environment variables (below). | ||
# | ||
# For more information on GitHub Actions for Azure, refer to https://github.com/Azure/Actions | ||
# For more samples to get started with GitHub Action workflows to deploy to Azure, refer to https://github.com/Azure/actions-workflow-samples | ||
on: | ||
release: | ||
types: [created] | ||
|
||
env: | ||
AZURE_WEBAPP_NAME: your-app-name # set this to your application's name | ||
AZURE_WEBAPP_PACKAGE_PATH: '.' # set this to the path to your web app project, defaults to the repository root | ||
NODE_VERSION: '10.x' # set this to the node version to use | ||
|
||
jobs: | ||
build-and-deploy: | ||
name: Build and Deploy | ||
runs-on: ubuntu-latest | ||
environment: production | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Use Node.js ${{ env.NODE_VERSION }} | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: ${{ env.NODE_VERSION }} | ||
- name: npm install, build, and test | ||
run: | | ||
# Build and test the project, then | ||
# deploy to Azure Web App. | ||
npm install | ||
npm run build --if-present | ||
npm run test --if-present | ||
- name: 'Deploy to Azure WebApp' | ||
uses: azure/webapps-deploy@v2 | ||
with: | ||
app-name: ${{ env.AZURE_WEBAPP_NAME }} | ||
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} | ||
package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# This workflow requires that you have an existing account with codescan.io | ||
# For more information about configuring your workflow, | ||
# read our documentation at https://github.com/codescan-io/codescan-scanner-action | ||
name: CodeScan | ||
|
||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: [ master ] | ||
schedule: | ||
- cron: '32 22 * * 2' | ||
|
||
jobs: | ||
CodeScan: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
- name: Cache files | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.sonar | ||
key: ${{ runner.os }}-sonar | ||
restore-keys: ${{ runner.os }}-sonar | ||
- name: Run Analysis | ||
uses: codescan-io/codescan-scanner-action@master | ||
with: | ||
login: ${{ secrets.CODESCAN_AUTH_TOKEN }} | ||
organization: ${{ secrets.CODESCAN_ORGANIZATION_KEY }} | ||
projectKey: ${{ secrets.CODESCAN_PROJECT_KEY }} | ||
- name: Upload SARIF file | ||
uses: github/codeql-action/upload-sarif@v1 | ||
with: | ||
sarif_file: codescan.sarif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# This workflow uses actions that are not certified by GitHub. | ||
# They are provided by a third-party and are governed by | ||
# separate terms of service, privacy policy, and support | ||
# documentation. | ||
|
||
# This workflow will install Deno and run tests across stable and nightly builds on Windows, Ubuntu and macOS. | ||
# For more information see: https://github.com/denolib/setup-deno | ||
|
||
name: Deno | ||
|
||
on: | ||
push: | ||
branches: [master] | ||
pull_request: | ||
branches: [master] | ||
|
||
jobs: | ||
test: | ||
runs-on: ${{ matrix.os }} # runs a test on Ubuntu, Windows and macOS | ||
|
||
strategy: | ||
matrix: | ||
deno: ["v1.x", "nightly"] | ||
os: [macOS-latest, windows-latest, ubuntu-latest] | ||
|
||
steps: | ||
- name: Setup repo | ||
uses: actions/checkout@v2 | ||
|
||
- name: Setup Deno | ||
uses: denolib/setup-deno@c7d7968ad4a59c159a777f79adddad6872ee8d96 | ||
with: | ||
deno-version: ${{ matrix.deno }} # tests across multiple Deno versions | ||
|
||
- name: Cache Dependencies | ||
run: deno cache deps.ts | ||
|
||
- name: Run Tests | ||
run: deno test -A --unstable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
name: Build and deploy Docker app to Azure | ||
on: | ||
push: | ||
branches: | ||
- master | ||
|
||
env: | ||
APPNAME: laudatecorpus-test | ||
APPLICATIONPATH: Application | ||
HOSTINGPLAN: laudatecorpus-test | ||
DOCKERFILEPATH: "Application" | ||
REGISTRYSKU: "Standard" | ||
REGISTRYNAME: "laudatecorpustestacr" | ||
REGISTRYLOCATION: "South Central US" | ||
IMAGENAME: "laudatecorpustestdd39" | ||
RESOURCEGROUPNAME: laudatecorpus-test-rg | ||
LOCATION: South Central US | ||
APPINSIGHTSLOCATION: South Central US | ||
SUBSCRIPTIONID: 61b13ccd-f2e5-4c34-b07e-4b775682f41b | ||
SKU: S1 Standard | ||
NODE_VERSION: 8.11.1 | ||
|
||
jobs: | ||
build: | ||
name: Build and push Application to ACR | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
|
||
- name: Azure authentication | ||
uses: azure/login@v1 | ||
with: | ||
creds: ${{ secrets.AZURE_CREDENTIALS }} | ||
|
||
- uses: azure/arm-deploy@v1 | ||
id: createAcr | ||
with: | ||
subscriptionId: ${{ env.SUBSCRIPTIONID }} | ||
resourceGroupName: ${{ env.RESOURCEGROUPNAME }} | ||
template: ./ArmTemplates/containerRegistry-template.json | ||
parameters: registryName="${{ env.REGISTRYNAME }}" registryLocation="${{ env.REGISTRYLOCATION }}" registrySku="${{ env.REGISTRYSKU }}" | ||
|
||
- name: Fetch ACR credentials | ||
id: acrCredentials | ||
continue-on-error: false | ||
run: | | ||
echo "::set-output name=acr_username::`az acr credential show -n ${{ env.REGISTRYNAME }} --query username`" | ||
echo "::set-output name=acr_password::`az acr credential show -n ${{ env.REGISTRYNAME }} --query passwords[0].value`" | ||
echo "::add-mask::`az acr credential show -n ${{ env.REGISTRYNAME }} --query passwords[0].value`" | ||
- name: ACR authentication | ||
uses: azure/docker-login@v1 | ||
with: | ||
login-server: ${{ env.REGISTRYNAME }}.azurecr.io | ||
username: ${{ steps.acrCredentials.outputs.acr_username }} | ||
password: ${{ steps.acrCredentials.outputs.acr_password }} | ||
|
||
- name: Docker Build & Push to ACR | ||
run: | | ||
docker login ${{ env.REGISTRYNAME }}.azurecr.io --username ${{ steps.acrCredentials.outputs.acr_username }} --password ${{ steps.acrCredentials.outputs.acr_password }} | ||
docker build "$GITHUB_WORKSPACE/${{env.DOCKERFILEPATH}}" -f "${{env.DOCKERFILEPATH}}/Dockerfile" -t ${{ env.REGISTRYNAME }}.azurecr.io/${{ env.IMAGENAME }}:${{ github.sha }} | ||
docker push ${{ env.REGISTRYNAME }}.azurecr.io/${{ env.IMAGENAME }}:${{ github.sha }} | ||
deploy: | ||
name: Deploy application to AKS | ||
needs: build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
|
||
- name: Azure authentication | ||
uses: azure/login@v1 | ||
with: | ||
creds: ${{ secrets.AZURE_CREDENTIALS }} | ||
|
||
- uses: azure/arm-deploy@v1 | ||
id: deploy | ||
with: | ||
subscriptionId: ${{ env.SUBSCRIPTIONID }} | ||
resourceGroupName: ${{ env.RESOURCEGROUPNAME }} | ||
template: ./ArmTemplates/container-webapp-template.json | ||
parameters: webAppName="${{ env.APPNAME }}" hostingPlanName="${{ env.HOSTINGPLAN }}" sku="${{ env.SKU }}" appInsightsLocation="${{ env.APPINSIGHTSLOCATION }}" registryName="${{ env.REGISTRYNAME }}" imageName="${{ env.IMAGENAME }}" registryLocation="${{ env.REGISTRYLOCATION }}" registrySku="${{ env.REGISTRYSKU }}" | ||
|
||
- name: Get ACR credentials | ||
id: getACRCred | ||
run: | | ||
echo "::set-output name=acr_username::`az acr credential show -n ${{ env.REGISTRYNAME }} --query username | xargs`" | ||
echo "::set-output name=acr_password::`az acr credential show -n ${{ env.REGISTRYNAME }} --query passwords[0].value | xargs`" | ||
echo "::add-mask::`az acr credential show -n ${{ env.REGISTRYNAME }} --query passwords[0].value | xargs`" | ||
- name: 'Deploy to Azure Web App for Container' | ||
uses: azure/webapps-deploy@v2 | ||
with: | ||
app-name: ${{ env.APPNAME }} | ||
images: ${{ env.REGISTRYNAME }}.azurecr.io/${{ env.IMAGENAME }}:${{ github.sha }} | ||
|
||
# Job to run functional tests | ||
FunctionalTests: | ||
name: Run Functional tests | ||
runs-on: windows-latest | ||
needs: Deploy | ||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Use Node.js ${{ env.NODE_VERSION }} | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: ${{ env.NODE_VERSION }} | ||
|
||
# Run functional tests | ||
- name: set up test environment and run tests | ||
continue-on-error: false | ||
run: | | ||
cd Application | ||
npm install | ||
cd ../Tests | ||
npm install | ||
gulp functionaltest --webAppUrl https://${{ env.APPNAME }}.azurewebsites.net/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
# This workflow will build a docker container, publish it to Google Container Registry, and deploy it to GKE when a release is created | ||
# | ||
# To configure this workflow: | ||
# | ||
# 1. Ensure that your repository contains the necessary configuration for your Google Kubernetes Engine cluster, including deployment.yml, kustomization.yml, service.yml, etc. | ||
# | ||
# 2. Set up secrets in your workspace: GKE_PROJECT with the name of the project and GKE_SA_KEY with the Base64 encoded JSON service account key (https://github.com/GoogleCloudPlatform/github-actions/tree/docs/service-account-key/setup-gcloud#inputs). | ||
# | ||
# 3. Change the values for the GKE_ZONE, GKE_CLUSTER, IMAGE, and DEPLOYMENT_NAME environment variables (below). | ||
# | ||
# For more support on how to run the workflow, please visit https://github.com/google-github-actions/setup-gcloud/tree/master/example-workflows/gke | ||
|
||
name: Build and Deploy to GKE | ||
|
||
on: | ||
release: | ||
types: [created] | ||
|
||
env: | ||
PROJECT_ID: ${{ secrets.GKE_PROJECT }} | ||
GKE_CLUSTER: cluster-1 # TODO: update to cluster name | ||
GKE_ZONE: us-central1-c # TODO: update to cluster zone | ||
DEPLOYMENT_NAME: gke-test # TODO: update to deployment name | ||
IMAGE: static-site | ||
|
||
jobs: | ||
setup-build-publish-deploy: | ||
name: Setup, Build, Publish, and Deploy | ||
runs-on: ubuntu-latest | ||
environment: production | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
# Setup gcloud CLI | ||
- uses: google-github-actions/setup-gcloud@v0.2.0 | ||
with: | ||
service_account_key: ${{ secrets.GKE_SA_KEY }} | ||
project_id: ${{ secrets.GKE_PROJECT }} | ||
|
||
# Configure Docker to use the gcloud command-line tool as a credential | ||
# helper for authentication | ||
- run: |- | ||
gcloud --quiet auth configure-docker | ||
# Get the GKE credentials so we can deploy to the cluster | ||
- uses: google-github-actions/get-gke-credentials@v0.2.1 | ||
with: | ||
cluster_name: ${{ env.GKE_CLUSTER }} | ||
location: ${{ env.GKE_ZONE }} | ||
credentials: ${{ secrets.GKE_SA_KEY }} | ||
|
||
# Build the Docker image | ||
- name: Build | ||
run: |- | ||
docker build \ | ||
--tag "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" \ | ||
--build-arg GITHUB_SHA="$GITHUB_SHA" \ | ||
--build-arg GITHUB_REF="$GITHUB_REF" \ | ||
. | ||
# Push the Docker image to Google Container Registry | ||
- name: Publish | ||
run: |- | ||
docker push "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" | ||
# Set up kustomize | ||
- name: Set up Kustomize | ||
run: |- | ||
curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64 | ||
chmod u+x ./kustomize | ||
# Deploy the Docker image to the GKE cluster | ||
- name: Deploy | ||
run: |- | ||
./kustomize edit set image gcr.io/PROJECT_ID/IMAGE:TAG=gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA | ||
./kustomize build . | kubectl apply -f - | ||
kubectl rollout status deployment/$DEPLOYMENT_NAME | ||
kubectl get services -o wide |
Oops, something went wrong.