Skip to content

Add dot

Add dot #28

Workflow file for this run

name: Publish 🚀
permissions:
contents: write
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+*" # tag pattern on pub.dev: 'v{{version}}'
jobs:
version:
name: Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Extract the binary.version
- run: echo "BINARY_VER=$(cat binary.version)" >> $GITHUB_ENV
# Extract the version from CMakeLists.txt
- run: echo "CMAKE_VER=$(grep -oP 'VERSION\s\K[0-9]+\.[0-9]+\.[0-9]+' CMakeLists.txt)" >> $GITHUB_ENV
# Extract the version from pubspec.yaml
- run: echo "PUB_VER=$(grep -oP 'version:\s\K[0-9]+\.[0-9]+\.[0-9]+' dart/pubspec.yaml)" >> $GITHUB_ENV
# Compare the versions in env to github.ref_name
- run: |
if [[ "${{ env.CMAKE_VER }}" == "${{ env.PUB_VER }}" ]] && \
[[ "${{ env.CMAKE_VER }}" == "${{ env.BINARY_VER }}" ]] && \
[[ "${{ env.CMAKE_VER }}" == "${{ github.ref_name }}" ]]; then
echo "All variables are equal."
else
echo "Variables differ:"
echo "BINARY_VER: ${{ env.BINARY_VER }}"
echo "CMAKE_VER: ${{ env.CMAKE_VER }}"
echo "PUB_VER: ${{ env.PUB_VER }}"
echo "GITHUB_REF_NAME: ${{ github.ref_name }}"
fi
binary:
name: Binary
needs: version
strategy:
matrix:
dist:
- os: linux
arch: x64
runner: ubuntu-latest
- os: android
arch: x86_64
runner: ubuntu-latest
- os: android
arch: armeabi-v7a
runner: ubuntu-latest
- os: android
arch: arm64-v8a
runner: ubuntu-latest
- os: macos
arch: arm64
runner: macos-latest
runs-on: ${{ matrix.dist.runner }}
steps:
- uses: actions/checkout@v4
with:
submodules: "true"
- id: dist
env:
OS: ${{ matrix.dist.os }}
ARCH: ${{ matrix.dist.arch }}
run: make dist-ci
- uses: actions/upload-artifact@v4
name: Upload Artifact
with:
path: ${{ steps.dist.outputs.tar_gz_path }}
name: ${{ steps.dist.outputs.tar_gz_name }}
- uses: softprops/action-gh-release@v2
name: GitHub Release
with:
files: ${{ steps.dist.outputs.tar_gz_path }}
draft: true
prerelease: false
publish:
name: pub.dev
needs: [version, binary]
runs-on: ubuntu-latest
container:
image: ghcr.io/jeffmur/fhel:builder
permissions:
id-token: write # Required for authentication using OIDC
environment:
name: pub.dev
url: https://pub.dev/packages/fhel
steps:
- uses: actions/checkout@v4
with:
submodules: "true"
- uses: dart-lang/setup-dart@v1
- run: make publish-ci