Skip to content
Open

Dev #2316

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
619f90c
Initial commit
tijuks Dec 20, 2025
af5131d
Create tijuks.github.com
tijuks Dec 22, 2025
e5352b2
change md refs
tijuks Dec 22, 2025
94bfee6
commit all
tijuks Dec 22, 2025
09fa819
install it
tijuks Dec 22, 2025
fd051a7
Create azure-webapps-node.yml
tijuks Dec 22, 2025
ee79e59
Update config.json
tijuks Dec 28, 2025
e6b8284
Add GitHub Actions workflow for npm package publishing
tijuks Dec 30, 2025
42f8374
Create package.json with Azure Webpack configuration and dependencies
tijuks Dec 30, 2025
23fa17d
Create package.json with Azure integration setup
tijuks Dec 30, 2025
f5be871
Create .env.example file with Azure Storage and Authentication config…
tijuks Dec 30, 2025
d66ccd7
Merge branch 'github:main' into main
tijuks Dec 30, 2025
7104a3e
Add files via upload
tijuks Dec 30, 2025
91dcdd5
Merge pull request #1 from tijuks/codespace-effective-guacamole-x5546…
tijuks Dec 31, 2025
89df6ad
Create webpack.yml
tijuks Jan 2, 2026
2eb7155
Update webpack.yml
tijuks Jan 2, 2026
56ed0de
Create README.md
tijuks Jan 10, 2026
a0f332f
Merge pull request #2 from Openwira/main
tijuks Jan 10, 2026
5829d8f
Create devcontainer.json
tijuks Jan 10, 2026
0bcda84
Merge branch 'tijuks:main' into main
tijuks Jan 10, 2026
f3b6105
Merge branch 'github:main' into main
tijuks Jan 21, 2026
718c088
Create Revise.prompt.yml
tijuks Jan 29, 2026
c9efeb3
Merge branch 'github:main' into main
tijuks Feb 11, 2026
0046b2d
Create devcontainer.json
tijuks Feb 11, 2026
21b6170
Rename node.js.yml to nodejs.yml
tijuks Feb 11, 2026
c8fca9b
Create main.yml
tijuks Feb 20, 2026
590171b
Merge branch 'github:main' into main
tijuks Mar 9, 2026
97959a7
Create SECURITY.md
tijuks Mar 9, 2026
ce1f08b
Update no-response.yml
tijuks Mar 20, 2026
8ab22bc
Merge branch 'Global-Information-Systems:main' into main
tijuks Mar 20, 2026
209b2b4
Merge pull request #5 from Openwira/main
tijuks Mar 20, 2026
823bcdb
Merge branch 'github:main' into main
tijuks Mar 25, 2026
cce7b3b
Create runner.yml
tijuks Mar 25, 2026
732e47f
Create src.json
tijuks Mar 25, 2026
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
4 changes: 4 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
gh pr checkout 2{
"image": "mcr.microsoft.com/devcontainers/universal:2",
"features": {}
}
12 changes: 12 additions & 0 deletions .env.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Azure Storage Configuration
AZURE_STORAGE_ACCOUNT_NAME=your-storage-account-name
AZURE_STORAGE_CONTAINER_NAME=your-container-name

# Azure Authentication
# For local development, you can use:
# 1. Azure CLI: az login
# 2. Environment variables: AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID
# 3. Managed Identity (when running on Azure)

# Node Environment
NODE_ENV=development
78 changes: 78 additions & 0 deletions .github/workflows/azure-webapps-node.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# This workflow will build and push a node.js application to an Azure Web App when a commit is pushed to your default branch.
#
# This workflow assumes you have already created the target Azure App Service web app.
# For instructions see https://docs.microsoft.com/en-us/azure/app-service/quickstart-nodejs?tabs=linux&pivots=development-environment-cli
#
# To configure this workflow:
#
# 1. Download the Publish Profile for your Azure Web App. You can download this file from the Overview page of your Web App in the Azure Portal.
# For more information: https://docs.microsoft.com/en-us/azure/app-service/deploy-github-actions?tabs=applevel#generate-deployment-credentials
#
# 2. Create a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE, paste the publish profile contents as the value of the secret.
# 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 value for the AZURE_WEBAPP_NAME. Optionally, change the AZURE_WEBAPP_PACKAGE_PATH and NODE_VERSION environment variables below.
#
# For more information on GitHub Actions for Azure: https://github.com/Azure/Actions
# For more information on the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# For more samples to get started with GitHub Action workflows to deploy to Azure: https://github.com/Azure/actions-workflow-samples

on:
push:
branches: [ "main" ]
workflow_dispatch:

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: '20.x' # set this to the node version to use

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: npm install, build, and test
run: |
npm install
npm run build --if-present
npm run test --if-present
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v4
with:
name: node-app
path: .

deploy:
permissions:
contents: none
runs-on: ubuntu-latest
needs: build
environment:
name: 'Development'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

steps:
- name: Download artifact from build job
uses: actions/download-artifact@v4
with:
name: node-app

- name: 'Deploy to Azure WebApp'
id: deploy-to-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 }}
34 changes: 34 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
- name: Execute Job
# You may pin to the exact commit or the version.
# uses: parasoft/execute-job-action@1899d360584e281e027c537d2df0f75a1115776e
uses: parasoft/execute-job-action@1.0.7
with:
# CTP URL
ctpUrl:
# CTP Username
ctpUsername:
# CTP Password
ctpPassword:
# CTP Test Execution Job Name
ctpJob:
# Abort the job after timeout exceeded
abortOnTimeout: # optional
# Timeout value in minutes
timeoutInMinutes: # optional
# Publish test execution results to DTP
publishReport: # optional
# DTP URL
dtpUrl: # optional
# DTP Username
dtpUsername: # optional
# DTP Password
dtpPassword: # optional
# DTP Project Name
dtpProject: # optional
# Build ID to send to DTP
buildId: # optional
# Session Tag to send to DTP
sessionTag: # optional
# Append the test variable set environment name to the session tag
appendEnvironment: # optional

39 changes: 31 additions & 8 deletions .github/workflows/no-response.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ jobs:
steps:
- uses: actions/stale@v9
with:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=env:


repo-token: ${{ secrets.GITHUB_TOKEN }}
only-issue-labels: 'more-info-needed'
days-before-issue-stale: -1 # Skip stale state, go directly to close
Expand All @@ -24,11 +27,31 @@ jobs:
remove-stale-when-updated: true
close-issue-message: >
Thank you for your issue!

We haven't gotten a response to our questions above. With only the
information that is currently in the issue, we don't have enough
information to take action. We're going to close this but don't
hesitate to reach out if you have or find the answers we need. If
you answer our questions above, this issue will automatically
reopen.
close-issue-reason: 'not_planned'
- name: Setup Node.js environment
uses: actions/setup-node@v6.3.0
with:
# Version Spec of the version to use. Examples: 12.x, 10.15.1, >=10.15.0.
node-version: # optional
# File containing the version Spec of the version to use. Examples: package.json, .nvmrc, .node-version, .tool-versions.
node-version-file: # optional
# Target architecture for Node to use. Examples: x86, x64. Will use system architecture by default.
architecture: # optional
# Set this option if you want the action to check for the latest available version that satisfies the version spec.
check-latest: # optional
# Optional registry to set up for auth. Will set the registry in a project level .npmrc and .yarnrc file, and set up auth to read in from env.NODE_AUTH_TOKEN.
registry-url: # optional
# Optional scope for authenticating against scoped registries. Will fall back to the repository owner when using the GitHub Packages registry (https://npm.pkg.github.com/).
scope: # optional
# Used to pull node distributions from node-versions. Since there's a default, this is typically not supplied by the user. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting.
token: # optional, default is ${{ github.server_url == 'https://github.com' && github.token || '' }}
# Used to specify a package manager for caching in the default directory. Supported values: npm, yarn, pnpm.
cache: # optional
# Set to false to disable automatic caching. By default, caching is enabled when either devEngines.packageManager or the top-level packageManager field in package.json specifies npm as the package manager.
package-manager-cache: # optional, default is true
# Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc. Supports wildcards or a list of file names for caching multiple dependencies.
cache-dependency-path: # optional
# Used to specify an alternative mirror to download Node.js binaries from
mirror: # optional
# The token used as Authorization header when fetching from the mirror
mirror-token: # optional

31 changes: 31 additions & 0 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm run build --if-present
- run: npm test
33 changes: 33 additions & 0 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages

name: Node.js Package

on:
release:
types: [created]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm test

publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
registry-url: https://registry.npmjs.org/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
138 changes: 138 additions & 0 deletions .github/workflows/runner.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
- name: Deploy GitHub Runner to AWS (EC2)
# You may pin to the exact commit or the version.
# uses: bitovi/github-actions-deploy-github-runner-to-ec2@6e35bdc2c305bec7608655b84227b88ac75c5961
uses: bitovi/github-actions-deploy-github-runner-to-ec2@v0
with:
# Specifies if this action should checkout the code
checkout: # optional, default is true
# Will run only the generation phase of BitOps, where the Terraform and Ansible code is built.
bitops_code_only: # optional
# Store BitOps code as a GitHub artifact
bitops_code_store: # optional
# Repo URL for the runner to listen to
repo_url:
# Repo access token
repo_access_token:
# AWS access key ID
aws_access_key_id: # optional
# AWS secret access key
aws_secret_access_key: # optional
# AWS session token
aws_session_token: # optional
# AWS default region
aws_default_region: # optional, default is us-east-1
# Set to override the AWS resource identifier for the deployment. Defaults to `${org}-{repo}-{branch}`. Use with destroy to destroy specific resources.
aws_resource_identifier: # optional
# A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`
aws_additional_tags: # optional
# Set to "true" to Destroy the stack through Terraform.
tf_stack_destroy: # optional
# Change this to be anything you want to. Carefull to be consistent here. A missing file could trigger recreation, or stepping over destruction of non-defined objects.
tf_state_file_name: # optional
# Append a string to the tf-state-file. Setting this to `unique` will generate `tf-state-aws-unique`. Can co-exist with the tf_state_file_name variable.
tf_state_file_name_append: # optional
# AWS S3 bucket to use for Terraform state. Defaults to `${org}-${repo}-{branch}-tf-state`
tf_state_bucket: # optional
# Force purge and deletion of S3 bucket defined. Any file contained there will be destroyed. `tf_stack_destroy` must also be `true`
tf_state_bucket_destroy: # optional
# Secret name to pull env variables from AWS Secret Manager, could be a comma separated list, read in order. Expected JSON content.
env_aws_secret: # optional
# File containing environment variables to be used with the app
env_repo: # optional
# `.env` file to be used with the app from Github secrets
env_ghs: # optional
# `.env` file to be used with the app from Github variables
env_ghv: # optional
# Define if an EC2 instance should be created
aws_ec2_instance_create: # optional
# AWS AMI Filter string. Will be used to lookup for lates image based on the string. Defaults to `ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*`.
aws_ec2_ami_filter: # optional
# Owner of AWS AMI image. This ensures the provider is the one we are looking for. Defaults to `099720109477`, Canonical (Ubuntu).
aws_ec2_ami_owner: # optional
# AWS AMI ID. Will default to lookup for latest image of the `aws_ec2_ami_filter` string. This will override `aws_ec2_ami_filter` lookup.
aws_ec2_ami_id: # optional
# Set this to true if you want to recreate the EC2 instance if there is a newer version of the AMI.
aws_ec2_ami_update: # optional
# The AWS IAM instance profile to use for the EC2 instance
aws_ec2_iam_instance_profile: # optional
# The AWS Instance type
aws_ec2_instance_type: # optional
# Define the volume size (in GiB) for the root volume on the AWS Instance.
aws_ec2_instance_root_vol_size: # optional
# Set this to true to avoid deletion of root volume on termination. Defaults to false.
aws_ec2_instance_root_vol_preserve: # optional
# The name of the EC2 security group
aws_ec2_security_group_name: # optional
# Generates and manages a secret manager entry that contains the public and private keys created for the ec2 instance.
aws_ec2_create_keypair_sm: # optional
# Add a public IP to the instance or not. (Not an Elastic IP)
aws_ec2_instance_public_ip: # optional
# List of ports to be enabled as an ingress rule in the EC2 SG, in a [xx,yy] format - Not the ELB
aws_ec2_port_list: # optional
# Relative path in the repo for a user provided script to be executed with Terraform EC2 Instance creation.
aws_ec2_user_data_file: # optional, default is no-file-provided
# If user_data file changes, instance will stop and start. Hence public IP will change. Defaults to true.
aws_ec2_user_data_replace_on_change: # optional
# A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`
aws_ec2_additional_tags: # optional
# Define if a VPC should be created
aws_vpc_create: # optional
# Set a specific name for the VPC
aws_vpc_name: # optional
# Define Base CIDR block which is divided into subnet CIDR blocks. Defaults to 10.0.0.0/16.
aws_vpc_cidr_block: # optional
# Comma separated list of public subnets. Defaults to 10.10.110.0/24
aws_vpc_public_subnets: # optional
# Comma separated list of private subnets. If none, none will be created.
aws_vpc_private_subnets: # optional
# Comma separated list of availability zones. Defaults to `aws_default_region.
aws_vpc_availability_zones: # optional
# AWS VPC ID. Accepts `vpc-###` values.
aws_vpc_id: # optional
# Specify a Subnet to be used with the instance. If none provided, will pick one.
aws_vpc_subnet_id: # optional
# Enables NAT gateway
aws_vpc_enable_nat_gateway: # optional
# Creates only one NAT gateway
aws_vpc_single_nat_gateway: # optional
# Comma separated list of IP IDS to reuse in the NAT gateways
aws_vpc_external_nat_ip_ids: # optional
# A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`
aws_vpc_additional_tags: # optional
#
aws_secret_env: # optional
#
repo_env: # optional
#
dot_env: # optional
#
ghv_env: # optional
#
stack_destroy: # optional
#
additional_tags: # optional
#
ec2_instance_profile: # optional
#
ec2_instance_type: # optional
#
ec2_ami_id: # optional
#
ec2_ami_update: # optional
#
ec2_volume_size: # optional
#
ec2_root_preserve: # optional
#
ec2_security_group_name: # optional
#
ec2_create_keypair_sm: # optional
#
ec2_instance_public_ip: # optional
#
ec2_user_data_file: # optional, default is no-file-provided
#
ec2_user_data_replace_on_change: # optional
#
ec2_additional_tags: # optional

1 change: 1 addition & 0 deletions .github/workflows/src.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Loading