mirror of
https://github.com/hoverkraft-tech/compose-action.git
synced 2026-01-13 16:13:08 +08:00
ci: refactor worflows
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
This commit is contained in:
parent
c7b6c2f1bf
commit
1a133c6d1c
40
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
40
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a bug report
|
||||||
|
title: ""
|
||||||
|
labels: bug, needs triage
|
||||||
|
assignees: ""
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 --->
|
||||||
|
<!--- Before opening up a new bug report, please make sure to check for similar existing issues -->
|
||||||
|
|
||||||
|
**Description:**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**Action version:**
|
||||||
|
Specify the action version
|
||||||
|
|
||||||
|
**Platform:**
|
||||||
|
|
||||||
|
- [ ] Ubuntu
|
||||||
|
- [ ] macOS
|
||||||
|
- [ ] Windows
|
||||||
|
|
||||||
|
**Runner type:**
|
||||||
|
|
||||||
|
- [ ] Hosted
|
||||||
|
- [ ] Self-hosted
|
||||||
|
|
||||||
|
**Tools version:**
|
||||||
|
|
||||||
|
<!--- Please specify versions of node and package manager (npm, yarn, pnpm and etc)-->
|
||||||
|
|
||||||
|
**Repro steps:**
|
||||||
|
A description with steps to reproduce the issue. If you have a public example or repository to share, please provide the link.
|
||||||
|
|
||||||
|
**Expected behavior:**
|
||||||
|
A description of what you expected to happen.
|
||||||
|
|
||||||
|
**Actual behavior:**
|
||||||
|
A description of what is actually happening.
|
||||||
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
||||||
42
.github/dependabot.yml
vendored
Normal file
42
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# This file was generated by the "Generate Dependabot Glob" action. Do not edit it directly.
|
||||||
|
# Make changes to `.github/dependabot.template.yml` and a PR will be automatically created.
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: github-actions
|
||||||
|
directory: /
|
||||||
|
open-pull-requests-limit: 20
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
day: friday
|
||||||
|
time: "04:00"
|
||||||
|
groups:
|
||||||
|
github-actions-dependencies:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/"
|
||||||
|
open-pull-requests-limit: 20
|
||||||
|
versioning-strategy: widen
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
day: friday
|
||||||
|
time: "04:00"
|
||||||
|
groups:
|
||||||
|
actions-dependencies:
|
||||||
|
patterns:
|
||||||
|
- "@actions/*"
|
||||||
|
npm-dev-dependencies:
|
||||||
|
dependency-type: development
|
||||||
|
|
||||||
|
- package-ecosystem: docker
|
||||||
|
directory: "/docker"
|
||||||
|
open-pull-requests-limit: 20
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
day: friday
|
||||||
|
time: "04:00"
|
||||||
|
groups:
|
||||||
|
docker-dependencies:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
18
.github/workflows/__shared-ci.yml
vendored
Normal file
18
.github/workflows/__shared-ci.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Common Continuous Integration tasks
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
linter:
|
||||||
|
uses: hoverkraft-tech/ci-github-common/.github/workflows/linter.yml@0.12.1
|
||||||
|
|
||||||
|
test-nodejs:
|
||||||
|
name: Test nodejs
|
||||||
|
needs: linter
|
||||||
|
uses: ./.github/workflows/__test-nodejs.yml
|
||||||
|
|
||||||
|
test-action:
|
||||||
|
name: Test action
|
||||||
|
needs: linter
|
||||||
|
uses: ./.github/workflows/__test-action.yml
|
||||||
73
.github/workflows/__test-action.yml
vendored
Normal file
73
.github/workflows/__test-action.yml
vendored
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
name: Internal - Tests for action
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-action-with-services:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Test compose action
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: hoverkraft-tech/ci-github-nodejs/actions/setup-node@0.3.2
|
||||||
|
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
compose-file: "./docker/docker-compose.yml"
|
||||||
|
services: |
|
||||||
|
helloworld2
|
||||||
|
helloworld3
|
||||||
|
|
||||||
|
test-action-with-down-flags:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Test compose action
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: hoverkraft-tech/ci-github-nodejs/actions/setup-node@0.3.2
|
||||||
|
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
compose-file: "./docker/docker-compose.yml"
|
||||||
|
down-flags: "--volumes"
|
||||||
|
|
||||||
|
test-action-with-compose-flags:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Test compose action
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: hoverkraft-tech/ci-github-nodejs/actions/setup-node@0.3.2
|
||||||
|
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
compose-file: "./docker/docker-compose.yml"
|
||||||
|
compose-flags: "--profile profile-1"
|
||||||
|
down-flags: "--volumes"
|
||||||
|
|
||||||
|
test-action-with-env:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Test compose action
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: hoverkraft-tech/ci-github-nodejs/actions/setup-node@0.3.2
|
||||||
|
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
compose-file: "./docker/docker-compose-with-env.yml"
|
||||||
|
env:
|
||||||
|
IMAGE_NAME: hello-world
|
||||||
|
|
||||||
|
test-action-with-multiple-compose-files:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Test compose action
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: hoverkraft-tech/ci-github-nodejs/actions/setup-node@0.3.2
|
||||||
|
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
compose-file: |
|
||||||
|
./docker/docker-compose.yml
|
||||||
|
./docker/docker-compose.ci.yml
|
||||||
|
services: |
|
||||||
|
helloworld2
|
||||||
|
helloworld4
|
||||||
12
.github/workflows/__test-nodejs.yml
vendored
Normal file
12
.github/workflows/__test-nodejs.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
name: Internal - Tests for nodejs
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-nodejs:
|
||||||
|
uses: hoverkraft-tech/ci-github-nodejs/.github/workflows/continuous-integration.yml@0.3.2
|
||||||
|
permissions:
|
||||||
|
id-token: write
|
||||||
|
security-events: write
|
||||||
|
contents: read
|
||||||
14
.github/workflows/main-ci.yml
vendored
Normal file
14
.github/workflows/main-ci.yml
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
name: Internal - Main - Continuous Integration
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
uses: ./.github/workflows/__shared-ci.yml
|
||||||
|
secrets: inherit
|
||||||
61
.github/workflows/main.yml
vendored
61
.github/workflows/main.yml
vendored
@ -1,61 +0,0 @@
|
|||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
test-compose-action:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: test compose action
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
- run: npm install
|
|
||||||
- uses: ./
|
|
||||||
with:
|
|
||||||
compose-file: "./docker/docker-compose.yml"
|
|
||||||
services: |
|
|
||||||
helloworld2
|
|
||||||
helloworld3
|
|
||||||
- uses: ./
|
|
||||||
with:
|
|
||||||
compose-file: "./docker/docker-compose.yml"
|
|
||||||
down-flags: "--volumes"
|
|
||||||
- uses: ./
|
|
||||||
with:
|
|
||||||
compose-file: "./docker/docker-compose.yml"
|
|
||||||
compose-flags: "--profile profile-1"
|
|
||||||
down-flags: "--volumes"
|
|
||||||
- uses: ./
|
|
||||||
with:
|
|
||||||
compose-file: "./docker/docker-compose-with-env.yml"
|
|
||||||
env:
|
|
||||||
IMAGE_NAME: hello-world
|
|
||||||
- uses: ./
|
|
||||||
with:
|
|
||||||
compose-file: |
|
|
||||||
./docker/docker-compose.yml
|
|
||||||
./docker/docker-compose.ci.yml
|
|
||||||
services: |
|
|
||||||
helloworld2
|
|
||||||
helloworld4
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: lint test
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- run: npm install
|
|
||||||
|
|
||||||
- name: eslint
|
|
||||||
run: npm run lint
|
|
||||||
|
|
||||||
- name: prettier
|
|
||||||
run: npm run check-format
|
|
||||||
21
.github/workflows/need-fix-to-issue.yml
vendored
Normal file
21
.github/workflows/need-fix-to-issue.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
name: Need fix to Issue
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
manual-commit-ref:
|
||||||
|
description: "The SHA of the commit to get the diff for"
|
||||||
|
required: true
|
||||||
|
manual-base-ref:
|
||||||
|
description: "By default, the commit entered above is compared to the one directly before it; to go back further, enter an earlier SHA here"
|
||||||
|
required: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
uses: hoverkraft-tech/ci-github-common/.github/workflows/need-fix-to-issue.yml@0.12.1
|
||||||
|
with:
|
||||||
|
manual-commit-ref: ${{ inputs.manual-commit-ref }}
|
||||||
|
manual-base-ref: ${{ inputs.manual-base-ref }}
|
||||||
15
.github/workflows/pull-request-ci.yml
vendored
Normal file
15
.github/workflows/pull-request-ci.yml
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
name: Pull request - Continuous Integration
|
||||||
|
|
||||||
|
on:
|
||||||
|
merge_group:
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
ci:
|
||||||
|
uses: ./.github/workflows/__shared-ci.yml
|
||||||
|
secrets: inherit
|
||||||
12
.github/workflows/semantic-pull-request.yml
vendored
Normal file
12
.github/workflows/semantic-pull-request.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
name: "Pull Request - Semantic Lint"
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- edited
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
uses: hoverkraft-tech/ci-github-common/.github/workflows/semantic-pull-request.yml@0.11.2
|
||||||
10
action.yml
10
action.yml
@ -1,22 +1,22 @@
|
|||||||
name: "Docker Compose Action"
|
name: "Docker Compose Action"
|
||||||
description: "Run your docker-compose file"
|
description: "Run your docker-compose file"
|
||||||
inputs:
|
inputs:
|
||||||
compose-file: # id of input
|
compose-file:
|
||||||
description: "relative path to compose file(s)"
|
description: "relative path to compose file(s)"
|
||||||
required: false
|
required: false
|
||||||
default: "./docker-compose.yml"
|
default: "./docker-compose.yml"
|
||||||
compose-flags: # id of input
|
compose-flags:
|
||||||
description: "additional options to pass to `docker-compose` command"
|
description: "additional options to pass to `docker-compose` command"
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
down-flags: # id of input
|
down-flags:
|
||||||
description: "additional options to pass to `docker-compose down` command"
|
description: "additional options to pass to `docker-compose down` command"
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
services: # id of input
|
services:
|
||||||
description: "services to perform docker-compose up"
|
description: "services to perform docker-compose up"
|
||||||
required: false
|
required: false
|
||||||
up-flags: # id of input
|
up-flags:
|
||||||
description: "additional options to pass to `docker-compose up` command"
|
description: "additional options to pass to `docker-compose up` command"
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
|
|||||||
@ -4,10 +4,12 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"No test specified\" && exit 1",
|
||||||
|
"test:ci": "echo \"No test specified\"",
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
"format": "prettier --write \"**/*.{js,json}\"",
|
"format": "prettier --write \"**/*.{js,json}\"",
|
||||||
"check-format": "prettier --check \"**/*.{js,json}\""
|
"check-format": "prettier --check \"**/*.{js,json}\"",
|
||||||
|
"build": "echo \"No build step\""
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user