8 Commits

Author SHA1 Message Date
d9b6c8fc4b Merge pull request #14 from eRgo35/release-plz-2024-08-13T12-51-00Z
chore: release v0.10.3
2024-08-13 14:56:39 +02:00
Michał Czyż
051ae857a7 chore: release 2024-08-13 14:51:01 +02:00
08fbdc828c ci: release-plz 2024-08-13 14:50:20 +02:00
aeb10d9baf ops: default branch yeet 2024-08-12 20:58:01 +02:00
af247aa6d5 ci: release please setup 2024-08-12 20:01:06 +02:00
eae957c6d7 Create ci.yml 2024-08-12 19:33:07 +02:00
5399f3ba6d oop 2024-08-12 19:31:51 +02:00
076dfd0a93 fixed release to build arm64 2024-08-12 19:08:59 +02:00
6 changed files with 54 additions and 157 deletions

View File

@@ -1,46 +1,22 @@
name: ci name: Rust
on: on:
push: push:
branches: [senpai] branches: [ "senpai" ]
pull_request: pull_request:
branches: [senpai] branches: [ "senpai" ]
env: env:
RUST_BACKTRACE: 1 CARGO_TERM_COLOR: always
RUST_LOG: trace
jobs: jobs:
test: build:
name: test
strategy: runs-on: ubuntu-latest
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Build
- name: Install Rust run: cargo build --verbose
uses: actions-rs/toolchain@v1 - name: Run tests
with: run: cargo test --verbose
toolchain: stable
profile: minimal
override: true
- name: Set up cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build projectable
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose

27
.github/workflows/release-plz.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
name: Release Plz
permissions:
pull-requests: write
contents: write
on:
push:
branches:
- senpai
jobs:
release-plz:
name: Release-plz
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Run release-plz
uses: MarcoIeni/release-plz-action@v0.5
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_PLZ_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

View File

@@ -1,119 +0,0 @@
name: release
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
permissions: write-all
jobs:
# Creates a release and outputs the url
create-release:
name: create-release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ env.RELEASE_UPLOAD_URL }}
version: ${{ env.VERSION }}
steps:
- name: Get the release version from the tag
shell: bash
if: env.VERSION == ''
run: |
echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
echo "version is: ${{ env.VERSION }}"
- name: Create GitHub release
uses: actions/github-script@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
script: |
try {
const response = await github.rest.repos.createRelease({
draft: false,
generate_release_notes: true,
name: process.env.VERSION,
owner: context.repo.owner,
prerelease: false,
repo: context.repo.repo,
tag_name: process.env.VERSION,
});
core.exportVariable('RELEASE_ID', response.data.id);
core.exportVariable('RELEASE_UPLOAD_URL', response.data.upload_url);
} catch (error) {
core.setFailed(error.message);
}
build-and-upload:
name: Build and upload
needs: create-release
runs-on: ${{ matrix.os }}
strategy:
matrix:
build: [linux-gnu, linux-aarch64-gnu]
include:
- build: linux-gnu
os: ubuntu-latest
target: x86_64-unknown-linux-gnu
use-cross: true
- build: linux-aarch64-gnu
os: ubuntu-latest
target: aarch64-unknown-linux-gnu
use-cross: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
target: ${{ matrix.target }}
- name: Build
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.use-cross }}
command: build
args: --verbose --release --target ${{ matrix.target }}
- name: Strip release binary (linux and macos)
if: matrix.build == 'linux-gnu' || matrix.build == 'linux-musl' || matrix.build == 'macos' || matrix.build == 'linux-aarch64-gnu'
run: strip "target/${{ matrix.target }}/release/lyra"
- name: Build archive
shell: bash
run: |
dirname="lyra-${{ needs.create-release.outputs.version }}-${{ matrix.target }}"
mkdir "$dirname"
if [ "${{ matrix.os }}" = "windows-latest" ]; then
mv "target/${{ matrix.target }}/release/lyra.exe" "$dirname"
else
mv "target/${{ matrix.target }}/release/lyra" "$dirname"
fi
mv LICENSE.md "$dirname"
if [ "${{ matrix.os }}" = "windows-latest" ]; then
7z a "$dirname.zip" "$dirname"
echo "ASSET=$dirname.zip" >> $GITHUB_ENV
else
tar -czf "$dirname.tar.gz" "$dirname"
echo "ASSET=$dirname.tar.gz" >> $GITHUB_ENV
fi
- name: Upload archive
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ${{ env.ASSET }}
asset_name: ${{ env.ASSET }}
asset_content_type: application/octet-stream

13
CHANGELOG.md Normal file
View File

@@ -0,0 +1,13 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.10.3](https://github.com/eRgo35/lyra/compare/v0.10.2...v0.10.3) - 2024-08-13
### Other
- release-plz
# Changelog

2
Cargo.lock generated
View File

@@ -1311,7 +1311,7 @@ dependencies = [
[[package]] [[package]]
name = "lyra" name = "lyra"
version = "0.10.2" version = "0.10.3"
dependencies = [ dependencies = [
"dotenv", "dotenv",
"json", "json",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "lyra" name = "lyra"
version = "0.10.2" version = "0.10.3"
authors = ["Michał Czyż <mike@c2yz.com>"] authors = ["Michał Czyż <mike@c2yz.com>"]
edition = "2021" edition = "2021"
description = "A featureful Discord bot written in Rust." description = "A featureful Discord bot written in Rust."