Skip to content

docs(specification): Flag set specification proposal #9640

docs(specification): Flag set specification proposal

docs(specification): Flag set specification proposal #9640

Workflow file for this run

name: "Build"
on:
push:
branches:
- main
pull_request:
types: [ opened, synchronize, reopened ]
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- run: make vendor
- run: make build
Lint:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- run: make lint
Test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- run: make test
Coverage:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- run: make coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
swagger-change:
name: Swagger Change
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- run: make swagger
- run: git diff --exit-code --quiet
goreleaser-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- name: Run GoReleaser .goreleaser.yaml check
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: latest
args: check --config .goreleaser.yaml
integration-tests:
name: Integration Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- name: Set up Maven
uses: stCarolas/setup-maven@v5
with:
maven-version: 3.8.2
- uses: actions/setup-node@v4
with:
node-version: 16
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '3.1.x'
- run: make provider-tests
Benchmark:
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' }}
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
check-latest: true
- name: Run benchmark
run: make bench | tee bench-output.txt
- name: Download previous benchmark data
uses: actions/cache@v4
with:
path: ./cache
key: ${{ runner.os }}-benchmark
- name: Store benchmark result
uses: rhysd/github-action-benchmark@v1
with:
tool: 'go'
output-file-path: bench-output.txt
external-data-json-path: ./cache/benchmark-data.json
fail-on-alert: true
github-token: ${{ secrets.GITHUB_TOKEN }}
comment-on-alert: true
alert-comment-cc-users: "@$GITHUB_ACTOR"
Python-provider:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v45
with:
files: ./openfeature/providers/python-provider/**
- uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Setup Poetry
if: steps.changed-files-specific.outputs.any_changed == 'true'
uses: abatilo/actions-poetry@v3
- name: Poetry install
if: steps.changed-files-specific.outputs.any_changed == 'true'
working-directory: ./openfeature/providers/python-provider
run: poetry install
- name: lint black
if: steps.changed-files-specific.outputs.any_changed == 'true'
working-directory: ./openfeature/providers/python-provider
run: poetry run black . --check
- name: Pytest
if: steps.changed-files-specific.outputs.any_changed == 'true'
working-directory: ./openfeature/providers/python-provider
run: poetry run pytest