name: Create Release
on:
push:
tags:
- 'v*'
jobs:
release:
name: Upload Assets
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get the tag name
id: tag-name
uses: olegtarasov/get-tag@v2
- name: Creating GitHub release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
crates:
name: Upload to Crates.io
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Publish derive macro
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
run: cd structconf_derive && cargo publish --token "$CRATES_IO_TOKEN"
- name: Wait for the derive macro to publish
run: sleep 240
- name: Publish original
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
run: cargo publish --token "$CRATES_IO_TOKEN"