Merge branch 'actions:main' into main
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
# Set to true to add reviewers to pull requests
|
||||
addReviewers: true
|
||||
|
||||
# Set to true to add assignees to pull requests
|
||||
addAssignees: false
|
||||
|
||||
# A list of reviewers to be added to pull requests (GitHub user name)
|
||||
reviewers:
|
||||
- phantsure
|
||||
- anuragc617
|
||||
- tiwarishub
|
||||
- vsvipul
|
||||
- bishal-pdmsft
|
||||
|
||||
# A number of reviewers added to the pull request
|
||||
# Set 0 to add all the reviewers (default: 0)
|
||||
numberOfReviewers: 1
|
||||
@@ -0,0 +1,15 @@
|
||||
name: Issue assignment
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
auto-assign:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Auto-assign issue'
|
||||
uses: pozil/auto-assign-issue@v1.4.0
|
||||
with:
|
||||
assignees: phantsure,tiwarishub,anuragc617,vsvipul,bishal-pdmsft
|
||||
numOfAssignee: 1
|
||||
@@ -0,0 +1,10 @@
|
||||
name: 'Auto Assign'
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, ready_for_review]
|
||||
|
||||
jobs:
|
||||
add-reviews:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: kentaro-m/auto-assign-action@v1.2.1
|
||||
@@ -90,4 +90,4 @@ jobs:
|
||||
COSIGN_EXPERIMENTAL: "true"
|
||||
# This step uses the identity token to provision an ephemeral certificate
|
||||
# against the sigstore community Fulcio instance.
|
||||
run: cosign sign ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}
|
||||
run: cosign sign ${{ steps.meta.outputs.tags }}@${{ steps.build-and-push.outputs.digest }}
|
||||
|
||||
@@ -105,7 +105,7 @@ jobs:
|
||||
|
||||
# Remove the pfx
|
||||
- name: Remove the pfx
|
||||
run: Remove-Item -path $env:Wap_Project_Directory\$env:Signing_Certificate
|
||||
run: Remove-Item -path $env:Wap_Project_Directory\GitHubActionsWorkflow.pfx
|
||||
|
||||
# Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact
|
||||
- name: Upload build artifacts
|
||||
|
||||
@@ -48,8 +48,11 @@ jobs:
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
@@ -58,13 +61,12 @@ jobs:
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
||||
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
# - run: |
|
||||
# echo "Run, Build Application using script"
|
||||
# ./location_of_script_within_repo/buildscript.sh
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
# 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.
|
||||
# hadoint is a Dockerfile linter written in Haskell
|
||||
# that helps you build best practice Docker images.
|
||||
# More details at https://github.com/hadolint/hadolint
|
||||
|
||||
name: Hadolint
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch, $protected-branches ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ $default-branch ]
|
||||
schedule:
|
||||
- cron: $cron-weekly
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
hadolint:
|
||||
name: Run hadolint scanning
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read # for actions/checkout to fetch code
|
||||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Run hadolint
|
||||
uses: hadolint/hadolint-action@f988afea3da57ee48710a9795b6bb677cc901183
|
||||
with:
|
||||
dockerfile: ./Dockerfile
|
||||
format: sarif
|
||||
output-file: hadolint-results.sarif
|
||||
no-fail: true
|
||||
|
||||
- name: Upload analysis results to GitHub
|
||||
uses: github/codeql-action/upload-sarif@v2
|
||||
with:
|
||||
sarif_file: hadolint-results.sarif
|
||||
wait-for-processing: true
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Haskell Dockerfile Linter",
|
||||
"description": "A smarter Dockerfile linter that helps you build best practice Docker images.",
|
||||
"iconName": "hadolint",
|
||||
"categories": ["Code Scanning", "Dockerfile"]
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200" enable-background="new 0 0 200 200" xml:space="preserve"> <image id="image0" width="200" height="200" x="0" y="0"
|
||||
href="data:image/png;base64,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" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env npx ts-node
|
||||
import { promises as fs } from "fs";
|
||||
import { safeLoad } from "js-yaml";
|
||||
import { basename, extname, join } from "path";
|
||||
import { basename, extname, join, dirname } from "path";
|
||||
import { Validator as validator } from "jsonschema";
|
||||
import { endGroup, error, info, setFailed, startGroup } from '@actions/core';
|
||||
|
||||
@@ -14,6 +14,7 @@ interface WorkflowWithErrors {
|
||||
interface WorkflowProperties {
|
||||
name: string;
|
||||
description: string;
|
||||
creator: string;
|
||||
iconName: string;
|
||||
categories: string[];
|
||||
}
|
||||
@@ -40,7 +41,7 @@ const propertiesSchema = {
|
||||
}
|
||||
}
|
||||
|
||||
async function checkWorkflows(folders: string[], allowed_categories: string[]): Promise<WorkflowWithErrors[]> {
|
||||
async function checkWorkflows(folders: string[], allowed_categories: object[]): Promise<WorkflowWithErrors[]> {
|
||||
const result: WorkflowWithErrors[] = []
|
||||
const workflow_template_names = new Set()
|
||||
for (const folder of folders) {
|
||||
@@ -69,7 +70,7 @@ async function checkWorkflows(folders: string[], allowed_categories: string[]):
|
||||
return result;
|
||||
}
|
||||
|
||||
async function checkWorkflow(workflowPath: string, propertiesPath: string, allowed_categories: string[]): Promise<WorkflowWithErrors> {
|
||||
async function checkWorkflow(workflowPath: string, propertiesPath: string, allowed_categories: object[]): Promise<WorkflowWithErrors> {
|
||||
let workflowErrors: WorkflowWithErrors = {
|
||||
id: workflowPath,
|
||||
name: null,
|
||||
@@ -104,9 +105,19 @@ async function checkWorkflow(workflowPath: string, propertiesPath: string, allow
|
||||
}
|
||||
|
||||
}
|
||||
if (!workflowPath.endsWith("blank.yml") && (!properties.categories ||
|
||||
!properties.categories.some(category => allowed_categories.some(ac => ac.toLowerCase() == category.toLowerCase())))) {
|
||||
workflowErrors.errors.push(`Workflow does not contain at least one allowed category - ${allowed_categories}`)
|
||||
var path = dirname(workflowPath)
|
||||
var folder_categories = allowed_categories.find( category => category["path"] == path)["categories"]
|
||||
if (!workflowPath.endsWith("blank.yml")) {
|
||||
if(!properties.categories || properties.categories.length == 0) {
|
||||
workflowErrors.errors.push(`Workflow categories cannot be null or empty`)
|
||||
}
|
||||
else if(!folder_categories.some(category => properties.categories[0].toLowerCase() == category.toLowerCase())) {
|
||||
workflowErrors.errors.push(`The first category in properties.json categories for workflow in ${basename(path)} folder must be one of "${folder_categories}. Either move the workflow to an appropriate directory or change the category."`)
|
||||
}
|
||||
}
|
||||
|
||||
if(basename(path).toLowerCase() == 'deployments' && !properties.creator) {
|
||||
workflowErrors.errors.push(`The "creator" in properties.json must be present.`)
|
||||
}
|
||||
} catch (e) {
|
||||
workflowErrors.errors.push(e.toString())
|
||||
|
||||
@@ -5,11 +5,22 @@
|
||||
"../../deployments",
|
||||
"../../code-scanning"
|
||||
],
|
||||
"allowed_categories" : [
|
||||
"Continuous integration",
|
||||
"Deployment",
|
||||
"Code Scanning",
|
||||
"Dependency review",
|
||||
"Automation"
|
||||
"allowed_categories": [
|
||||
{
|
||||
"path": "../../ci",
|
||||
"categories": ["Continuous integration"]
|
||||
},
|
||||
{
|
||||
"path": "../../automation",
|
||||
"categories": ["Automation"]
|
||||
},
|
||||
{
|
||||
"path": "../../deployments",
|
||||
"categories": ["Deployment"]
|
||||
},
|
||||
{
|
||||
"path": "../../code-scanning",
|
||||
"categories": ["Code Scanning", "Dependency review"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user