Skip to content

Commit

Permalink
Merge pull request #10 from cytopia/release-0.3
Browse files Browse the repository at this point in the history
Multi-arch
  • Loading branch information
cytopia authored Oct 29, 2022
2 parents ad056fa + a2c4668 commit aa61e9c
Show file tree
Hide file tree
Showing 16 changed files with 625 additions and 243 deletions.
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
12 changes: 12 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# The labels in this file are automatically synced with the repository
# using the micnncim/action-label-syncer action.
---
- name: C-dependency
color: 1abc9c
description: "Category: Dependency"
- name: PR-block
color: 3498db
description: "Pull Request: Do not merge"
- name: PR-merge
color: 3498db
description: "Pull Request: Merge when ready"
33 changes: 33 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name-template: '$RESOLVED_VERSION 🌈'
tag-template: '$RESOLVED_VERSION'
version-template: '$MAJOR.$MINOR'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: minor
template: |
## Changes
$CHANGES
38 changes: 38 additions & 0 deletions .github/workflows/action_branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---

# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: build


# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
push:
paths:
- 'Makefile'
- 'Dockerfiles/**'
- 'tests/**'
- '.github/workflows/action*.yml'
- '.github/workflows/params.yml'

jobs:

# (1/2) Determine repository params
params:
uses: ./.github/workflows/params.yml

# (2/2) Build
docker:
needs: [params]
uses: devilbox/github-actions/.github/workflows/docker-name-version-flavour-arch.yml@master
with:
enabled: true
can_deploy: ${{ github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release-') }}
matrix: ${{ needs.params.outputs.matrix }}
refs: ${{ needs.params.outputs.refs }}
secrets:
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
35 changes: 35 additions & 0 deletions .github/workflows/action_pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---

# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: build


# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
pull_request:


jobs:

# (1/2) Determine repository params
params:
uses: ./.github/workflows/params.yml
# Only run for forks (contributor)
if: github.event.pull_request.head.repo.fork

# (2/2) Build
docker:
needs: [params]
uses: devilbox/github-actions/.github/workflows/docker-name-version-flavour-arch.yml@master
with:
enabled: true
can_deploy: false
matrix: ${{ needs.params.outputs.matrix }}
refs: ${{ needs.params.outputs.refs }}
secrets:
dockerhub_username: ""
dockerhub_password: ""
35 changes: 35 additions & 0 deletions .github/workflows/action_schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---

# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: nightly


# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
# Runs daily
schedule:
- cron: '0 0 * * *'


jobs:

# (1/2) Determine repository params
params:
uses: ./.github/workflows/params.yml

# (2/2) Build
docker:
needs: [params]
uses: devilbox/github-actions/.github/workflows/docker-name-version-flavour-arch.yml@master
with:
enabled: true
can_deploy: true
matrix: ${{ needs.params.outputs.matrix }}
refs: ${{ needs.params.outputs.refs }}
secrets:
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}
22 changes: 22 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---

# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: lint


# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
# Runs on Pull Requests
pull_request:


# -------------------------------------------------------------------------------------------------
# What to run
# -------------------------------------------------------------------------------------------------
jobs:
lint:
uses: devilbox/github-actions/.github/workflows/lint-generic.yml@master
99 changes: 99 additions & 0 deletions .github/workflows/params.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---

# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: params


# -------------------------------------------------------------------------------------------------
# Custom Variables
# -------------------------------------------------------------------------------------------------
env:
MATRIX: >-
[
{
"NAME": "pcs",
"VERSION": [
"latest",
"PCS-latest PHP-latest",
"PCS-latest PHP-8.1",
"PCS-latest PHP-8.0",
"PCS-latest PHP-7.4",
"PCS-latest PHP-7.3",
"PCS-latest PHP-7.2",
"PCS-latest PHP-7.1",
"PCS-latest PHP-7.0",
"PCS-latest PHP-5.6",
"PCS-3 PHP-latest",
"PCS-3 PHP-8.1",
"PCS-3 PHP-8.0",
"PCS-3 PHP-7.4",
"PCS-3 PHP-7.3",
"PCS-3 PHP-7.2",
"PCS-3 PHP-7.1",
"PCS-3 PHP-7.0",
"PCS-3 PHP-5.6",
"PCS-2 PHP-7.4",
"PCS-2 PHP-7.3",
"PCS-2 PHP-7.2",
"PCS-2 PHP-7.1",
"PCS-2 PHP-7.0",
"PCS-2 PHP-5.6"
],
"FLAVOUR": ["latest"],
"ARCH": ["linux/amd64", "linux/386", "linux/arm64"]
}
]
# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
workflow_call:
outputs:
matrix:
description: "The determined version matrix"
value: ${{ jobs.params.outputs.matrix }}
refs:
description: "The determined git ref matrix (only during scheduled run)"
value: ${{ jobs.params.outputs.refs }}

jobs:
params:
runs-on: ubuntu-latest

outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
refs: ${{ steps.set-refs.outputs.matrix }}

steps:
- name: "[Set-Output] Matrix"
id: set-matrix
run: |
echo "matrix=$( echo '${{ env.MATRIX }}' | jq -M -c )" >> $GITHUB_OUTPUT
- name: "[Set-Output] Matrix 'Refs' (master branch and latest tag)"
id: set-refs
uses: cytopia/[email protected]
with:
repository_default_branch: master
branches: master
num_latest_tags: 0
if: github.event_name == 'schedule'

- name: "[DEBUG] Show settings'"
run: |
echo 'Matrix'
echo '--------------------'
echo '${{ steps.set-matrix.outputs.matrix }}'
echo
echo 'Matrix: Refs'
echo '--------------------'
echo '${{ steps.set-matrix-refs.outputs.matrix }}'
echo
19 changes: 19 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Release Drafter

on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master

jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
with:
publish: true
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_DRAFTER_TOKEN }}
25 changes: 25 additions & 0 deletions .github/workflows/repository.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Repository

on:
push:
branches:
- master
paths:
- .github/labels.yml

jobs:
labels:
name: Labels
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Sync labels
uses: micnncim/action-label-syncer@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
manifest: .github/labels.yml
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Makefile.docker
Makefile.lint
Loading

0 comments on commit aa61e9c

Please sign in to comment.