mirror of
https://github.com/Steffo99/patched-porobot.git
synced 2024-12-23 01:54:22 +00:00
Update GitHub Actions workflows
This commit is contained in:
parent
f908f3b5ed
commit
b52e23b882
4 changed files with 60 additions and 85 deletions
53
.github/workflows/docker.yml
vendored
53
.github/workflows/docker.yml
vendored
|
@ -1,53 +0,0 @@
|
||||||
name: "Automated release"
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "v*"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
publish-docker:
|
|
||||||
name: "🐳 Build and publish Docker image on ghcr.io"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: "Checkout repository"
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: "❓ Find the release semantic version"
|
|
||||||
id: semver
|
|
||||||
uses: Steffo99/actions-semver@v0.3.4
|
|
||||||
with:
|
|
||||||
string: ${{ github.ref_name }}
|
|
||||||
|
|
||||||
- name: "🔨 Setup Buildx"
|
|
||||||
uses: docker/setup-buildx-action@v2
|
|
||||||
|
|
||||||
- name: "🔑 Login to GitHub Containers"
|
|
||||||
uses: docker/login-action@v2
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ github.repository_owner }}
|
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: "🔽 Find the lowercase name of the repository"
|
|
||||||
id: reponame
|
|
||||||
uses: ASzc/change-string-case-action@v2
|
|
||||||
with:
|
|
||||||
string: ${{ github.repository }}
|
|
||||||
|
|
||||||
- name: "🏗 Build and push the Docker image"
|
|
||||||
uses: docker/build-push-action@v3
|
|
||||||
with:
|
|
||||||
tags: >-
|
|
||||||
ghcr.io/${{ steps.reponame.outputs.lowercase }}:${{ steps.semver.outputs.precedence }},
|
|
||||||
ghcr.io/${{ steps.reponame.outputs.lowercase }}:${{ steps.semver.outputs.core }},
|
|
||||||
ghcr.io/${{ steps.reponame.outputs.lowercase }}:${{ steps.semver.outputs.pair }},
|
|
||||||
ghcr.io/${{ steps.reponame.outputs.lowercase }}:${{ steps.semver.outputs.major }},
|
|
||||||
ghcr.io/${{ steps.reponame.outputs.lowercase }}:latest
|
|
||||||
push: true
|
|
||||||
|
|
||||||
- name: "🌐 Create release"
|
|
||||||
uses: ncipollo/release-action@v1.10.0
|
|
||||||
with:
|
|
||||||
draft: true
|
|
||||||
generateReleaseNotes: true
|
|
23
.github/workflows/release.yml
vendored
Normal file
23
.github/workflows/release.yml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
name: "Release new version"
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Creation of a new tag starting with v
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
uses: ./.github/workflows/test.yml
|
||||||
|
|
||||||
|
ghcrio:
|
||||||
|
uses: Steffo99/.github/.github/workflows/buildrelease-docker.yml@main
|
||||||
|
needs:
|
||||||
|
- test
|
||||||
|
|
||||||
|
portainer:
|
||||||
|
uses: Steffo99/.github/.github/workflows/deploy-portainer.yml@main
|
||||||
|
needs:
|
||||||
|
- ghcrio
|
||||||
|
secrets:
|
||||||
|
PORTAINER_HOOK_URL: ${{ secrets.PORTAINER_HOOK_URL }}
|
37
.github/workflows/test.yml
vendored
Normal file
37
.github/workflows/test.yml
vendored
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
name: "Test suite"
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Modification of a project file in the main branch
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "src/**"
|
||||||
|
- "tests/**"
|
||||||
|
- "benches/**"
|
||||||
|
- "examples/**"
|
||||||
|
- "Cargo.toml"
|
||||||
|
- "Cargo.lock"
|
||||||
|
# Pull request to the main branch modifying a project file
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "src/**"
|
||||||
|
- "tests/**"
|
||||||
|
- "benches/**"
|
||||||
|
- "examples/**"
|
||||||
|
- "Cargo.toml"
|
||||||
|
- "Cargo.lock"
|
||||||
|
# Triggered by a new release
|
||||||
|
workflow_call:
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
clippy:
|
||||||
|
uses: Steffo99/.github/.github/workflows/test-cargo-clippy.yml@main
|
||||||
|
|
||||||
|
test:
|
||||||
|
uses: Steffo99/.github/.github/workflows/test-cargo-test.yml@main
|
32
.github/workflows/tests.yml
vendored
32
.github/workflows/tests.yml
vendored
|
@ -1,32 +0,0 @@
|
||||||
name: "Continuous integration"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
workflow_call:
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
cargotest:
|
|
||||||
name: "Run checks and tests on the repository"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: "Checkout repository"
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: "Install Rust toolchain"
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
|
|
||||||
- name: "Run cargo clippy"
|
|
||||||
uses: actions-rs/clippy-check@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
args: --all-features
|
|
||||||
|
|
||||||
- name: "Run cargo test"
|
|
||||||
uses: actions-rs/cargo@v1
|
|
||||||
with:
|
|
||||||
command: test
|
|
Loading…
Reference in a new issue