Skip to content

ci: pass reference for targetBranch or nothing if not provided #173

ci: pass reference for targetBranch or nothing if not provided

ci: pass reference for targetBranch or nothing if not provided #173

Workflow file for this run

name: split-monorepo
on:
release:
types: [published]
push:
branches:
- split
jobs:
split-repositories:
runs-on: ubuntu-latest
strategy:
matrix:
# Structure of the config tuple is:
# 0: Type of package (e.g. open-feature/flagd-*provider*)
# 1: Name of package (sans-org-prefix e.g. open-feature/*flagd*-provider)
# 2: Name of subdirectory (e.g. providers/*Flagd*)
config:
- [hook, dd-trace, DDTrace]
# - [hook, otel, OpenTelemetry]
# - [hook, validator, Validators]
# - [provider, cloudbees, CloudBees]
# - [provider, flagd, Flagd]
# - [provider, split, Split]
# - [provider, go-feature-flag, GoFeatureFlag]
steps:
- name: checkout
run: |
git clone "$GITHUB_SERVER_URL"/"$GITHUB_REPOSITORY" "$GITHUB_WORKSPACE"
cd "$GITHUB_WORKSPACE"
git checkout "$GITHUB_SHA"
- name: Replace string in GitHub Actions
id: targetRef
run: |
input_ref="${{ github.event.release.tag_name }}"
if [ -n "$input_ref" ]; then
input_ref="refs/tags/$input_ref"
target_ref="$(echo -n "$input_ref"|sed 's#open-feature/${{ matrix.config[1] }}-${{ matrix.config[0] }}-##')"
fi
echo "::set-output name=result::${target_ref}"
- name: push-hook-dd-trace
uses: tcarrio/[email protected]
with:
privateKey: ${{ secrets.SSH_PRIVATE_KEY }}
targetOrg: open-feature-php
targetRepo: ${{ matrix.config[1] }}-${{ matrix.config[0] }}
targetBranch: ${{ steps.targetRef.outputs.result }}
tagFilter: ^open-feature/${{ matrix.config[1] }}-
filterArguments: |
--subdirectory-filter "${{matrix.config[0] }}s/${{ matrix.config[2] }}/" \
--tag-rename "open-feature/${{ matrix.config[1] }}-${{ matrix.config[0] }}-:" \
--force