mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-08-17 14:51:04 +02:00
86 lines
No EOL
2.2 KiB
YAML
86 lines
No EOL
2.2 KiB
YAML
name: Deploy
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v[0-9]+.[0-9]+.[0-9]+
|
|
|
|
jobs:
|
|
release:
|
|
name: 'Create Release'
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Update CHANGELOG
|
|
id: changelog
|
|
uses: Requarks/changelog-action@v1
|
|
with:
|
|
token: ${{ github.token }}
|
|
tag: ${{ github.ref_name }}
|
|
excludeTypes: 'build,chore,style'
|
|
|
|
- name: Create release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
allowUpdates: true
|
|
draft: false
|
|
name: ${{ github.ref_name }}
|
|
body: ${{ steps.changelog.outputs.changes }}
|
|
token: ${{ github.token }}
|
|
|
|
- name: Commit CHANGELOG.md
|
|
uses: stefanzweifel/git-auto-commit-action@v4
|
|
with:
|
|
branch: master
|
|
commit_message: 'chore: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
|
|
file_pattern: CHANGELOG.md
|
|
|
|
|
|
publish-crate:
|
|
name: 'Publish Crate'
|
|
runs-on: ubuntu-latest
|
|
container: ghcr.io/jakestanger/ironbar-build:master
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Publish crate
|
|
uses: katyo/publish-crates@v1
|
|
with:
|
|
registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
|
|
|
|
|
publish-schema:
|
|
name: 'Publish Schema'
|
|
runs-on: ubuntu-latest
|
|
container: ghcr.io/jakestanger/ironbar-build:master
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
name: Cache dependencies
|
|
|
|
- name: Ensure target folder
|
|
run: mkdir -p target
|
|
|
|
- name: Build schema
|
|
run: cargo run --features schema -- --print-schema > target/schema-${{ github.ref_name }}.json
|
|
|
|
- name: Copy file via SSH
|
|
uses: appleboy/scp-action@v0.1.7
|
|
with:
|
|
host: ${{ secrets.SSH_HOST }}
|
|
port: ${{ secrets.SSH_PORT }}
|
|
username: ${{ secrets.SSH_USERNAME }}
|
|
key: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
source: "target/schema-${{ github.ref_name }}.json"
|
|
target: /storage/Public/github/ironbar
|
|
strip_components: 1 |