Compare commits

...

7 Commits

Author SHA1 Message Date
GitHub Action 2586e999cf build 2024-03-20 15:46:13 +00:00
David Gamero d565a17533 Update package.json (#317) 2024-03-19 18:36:57 -04:00
David Gamero 1811836de2 create v5 node20 release (#316)
* Update package.json

* Update release-pr.yml

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* format

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* Update codeql.yml

* format

* update the current tags

* Update codeql.yml

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update codeql.yml
2024-03-19 17:27:31 -04:00
Martin Kraus Larsen 10d9433b15 Update action.yml (#309)
Fix warning like: Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20:
2024-03-12 14:59:19 +00:00
Morten Linderud 52dfbef986 fix: ensure imageNames are not empty strings (#303)
In Typescript/Javascript an empty string split on newline is going to
produce an array with an empty string.

    => "".split('\n')
    [""]

This causes the action to produce a warning, unless `pull-images` is set
to false.

    Failed to get dockerfile path for image : Error: The process '/usr/bin/docker' failed with exit code 1

Filtering the list to remove any zero-length strings from the array
solves this issue.

Signed-off-by: Morten Linderud <morten.linderud@nrk.no>
2024-02-05 15:04:16 -05:00
David Gamero 074d812926 update release workflow to use new prefix, remove deprecated release workflow (#306) 2023-12-08 01:00:22 +00:00
David Gamero e10b599478 update version to v prefix (#304) 2023-12-01 15:49:35 -05:00
11 changed files with 24194 additions and 46 deletions
+7 -4
View File
@@ -10,10 +10,13 @@ jobs:
CodeQL-Build:
# CodeQL runs on ubuntu-latest and windows-latest
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -21,7 +24,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f #v3.24.8
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java
@@ -29,7 +32,7 @@ jobs:
# 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
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@05963f47d870e2cb19a537396c1f668a348c7d8f #v3.24.8
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -43,4 +46,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f #v3.24.8
+5 -2
View File
@@ -1,4 +1,4 @@
name: release Project
name: Release Project
on:
push:
@@ -10,6 +10,9 @@ on:
jobs:
release:
uses: Azure/action-release-workflows/.github/workflows/release_js_project.yaml@81e6a8ed41ced9d131dea884ecae7b8c6dc4f799
permissions:
actions: read
contents: write
uses: Azure/action-release-workflows/.github/workflows/release_js_project.yaml@v1
with:
changelogPath: ./CHANGELOG.md
-10
View File
@@ -1,10 +0,0 @@
name: Tag and create release draft
on:
push:
branches:
- releases/*
jobs:
tag-and-release:
uses: OliverMKing/javascript-release-workflow/.github/workflows/tag-and-release.yml@main
-1
View File
@@ -2,6 +2,5 @@ node_modules
.DS_Store
.idea
lib/
coverage/
+17
View File
@@ -1,5 +1,22 @@
# Changelog
## [5.0.0] - 2024-03-12
### Changed
- #309 Updated to Node20 and upgraded release workflows to @v1 tag
- #306 update release workflow to use new prefix, remove deprecated release
- #303 fix: ensure imageNames are not empty strings
- #299 bump release workflow sha
- #298 bump minikube to fix runner deps
- #297 update release workflow
### Added
- #304 add v prefix for version tagging
- #302 adding ncc to build
- #301 adding release workflow artifact fix
## [4.10.0] - 2023-10-30
### Added
+23 -23
View File
@@ -132,7 +132,7 @@ Following are the key capabilities of this action:
### Basic deployment (without any deployment strategy)
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
manifests: |
@@ -146,7 +146,7 @@ Following are the key capabilities of this action:
### Private cluster deployment
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
resource-group: yourResourceGroup
name: yourClusterName
@@ -166,7 +166,7 @@ Following are the key capabilities of this action:
### Canary deployment without service mesh
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
images: 'contoso.azurecr.io/myapp:${{ event.run_id }}'
@@ -185,7 +185,7 @@ Following are the key capabilities of this action:
To promote/reject the canary created by the above snippet, the following YAML snippet could be used:
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
images: 'contoso.azurecr.io/myapp:${{ event.run_id }}'
@@ -203,7 +203,7 @@ To promote/reject the canary created by the above snippet, the following YAML sn
### Canary deployment based on Service Mesh Interface
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
images: 'contoso.azurecr.io/myapp:${{ event.run_id }}'
@@ -224,7 +224,7 @@ To promote/reject the canary created by the above snippet, the following YAML sn
To promote/reject the canary created by the above snippet, the following YAML snippet could be used:
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
images: 'contoso.azurecr.io/myapp:${{ event.run_id }} '
@@ -243,7 +243,7 @@ To promote/reject the canary created by the above snippet, the following YAML sn
### Blue-Green deployment with different route methods
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
images: 'contoso.azurecr.io/myapp:${{ event.run_id }}'
@@ -263,7 +263,7 @@ To promote/reject the canary created by the above snippet, the following YAML sn
To promote/reject the green workload created by the above snippet, the following YAML snippet could be used:
```yaml
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
namespace: 'myapp'
images: 'contoso.azurecr.io/myapp:${{ event.run_id }}'
@@ -292,7 +292,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- uses: Azure/docker-login@v1
with:
@@ -304,23 +304,23 @@ jobs:
docker build . -t contoso.azurecr.io/k8sdemo:${{ github.sha }}
docker push contoso.azurecr.io/k8sdemo:${{ github.sha }}
- uses: azure/setup-kubectl@v2.0
- uses: azure/setup-kubectl@v4
# Set the target AKS cluster.
- uses: Azure/aks-set-context@v1
- uses: Azure/aks-set-context@v4
with:
creds: '${{ secrets.AZURE_CREDENTIALS }}'
cluster-name: contoso
resource-group: contoso-rg
- uses: Azure/k8s-create-secret@v1.1
- uses: Azure/k8s-create-secret@v4
with:
container-registry-url: contoso.azurecr.io
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: demo-k8s-secret
- uses: Azure/k8s-deploy@v4
- uses: Azure/k8s-deploy@v5
with:
action: deploy
manifests: |
@@ -341,7 +341,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- uses: Azure/docker-login@v1
with:
@@ -353,13 +353,13 @@ jobs:
docker build . -t contoso.azurecr.io/k8sdemo:${{ github.sha }}
docker push contoso.azurecr.io/k8sdemo:${{ github.sha }}
- uses: azure/setup-kubectl@v2.0
- uses: azure/setup-kubectl@v4
- uses: Azure/k8s-set-context@v2
- uses: Azure/k8s-set-context@v4
with:
kubeconfig: ${{ secrets.KUBE_CONFIG }}
- uses: Azure/k8s-create-secret@v1.1
- uses: Azure/k8s-create-secret@v4
with:
container-registry-url: contoso.azurecr.io
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
@@ -391,7 +391,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- uses: Azure/docker-login@v1
with:
@@ -423,16 +423,16 @@ jobs:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- uses: azure/setup-kubectl@v2.0
- uses: azure/setup-kubectl@v4
# Set the target AKS cluster.
- uses: Azure/aks-set-context@v1
- uses: Azure/aks-set-context@v4
with:
creds: '${{ secrets.AZURE_CREDENTIALS }}'
cluster-name: contoso
resource-group: contoso-rg
- uses: Azure/k8s-create-secret@v1.1
- uses: Azure/k8s-create-secret@v4
with:
namespace: ${{ env.NAMESPACE }}
container-registry-url: contoso.azurecr.io
@@ -440,7 +440,7 @@ jobs:
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: demo-k8s-secret
- uses: azure/k8s-bake@v2
- uses: azure/k8s-bake@v3
with:
renderEngine: 'helm'
helmChart: './aks-helloworld/'
@@ -450,7 +450,7 @@ jobs:
helm-version: 'latest'
id: bake
- uses: Azure/k8s-deploy@v1.2
- uses: Azure/k8s-deploy@v5
with:
action: deploy
manifests: ${{ steps.bake.outputs.manifestsBundle }}
+1 -1
View File
@@ -84,5 +84,5 @@ inputs:
branding:
color: 'green'
runs:
using: 'node16'
using: 'node20'
main: 'lib/index.js'
+24131
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "k8s-deploy-action",
"version": "0.0.0",
"version": "5.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "k8s-deploy-action",
"version": "0.0.0",
"version": "5.0.0",
"license": "MIT",
"dependencies": {
"@actions/core": "^1.10.0",
+3 -2
View File
@@ -1,10 +1,11 @@
{
"name": "k8s-deploy-action",
"version": "0.0.0",
"version": "5.0.0",
"author": "Deepak Sattiraju",
"license": "MIT",
"scripts": {
"build": "npm i ncc && npx ncc build src/run.ts -o lib",
"prebuild": "npm i @vercel/ncc",
"build": "ncc build src/run.ts -o lib",
"test": "jest",
"coverage": "jest --coverage=true",
"format": "prettier --write .",
+5 -1
View File
@@ -23,7 +23,11 @@ export async function getDeploymentConfig(): Promise<DeploymentConfig> {
)
}
const imageNames = core.getInput('images').split('\n') || []
const imageNames =
core
.getInput('images')
.split('\n')
.filter((image) => image.length > 0) || []
const imageDockerfilePathMap: {[id: string]: string} = {}
const pullImages = !(core.getInput('pull-images').toLowerCase() === 'false')