Commit Graph

104 Commits

Author SHA1 Message Date
Gastón Fournier 65f2aaf6f5 fix: support coverage reports on external PRs (#2087)
* fix: support coverage reports on external PRs
* removed the coverage comment on the PR until we can investigate this further

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2022-09-27 15:51:04 +02:00
Gastón Fournier c8a007684a Revert usage of pull_request_target (#2088) 2022-09-26 12:53:20 +02:00
Thomas Heartman 2d04bd9ea2 Add OpenAPI docs (#1391) (#2066)
## What

This PR (finally 🎉) adds generated OpenAPI docs to the official Unleash documentation. In addition to generating docs when things get merged to main, it also pushes new doc updates every day at 12:00 AM (cron `@daily`).

## Why

Now that we have OpenAPI'd all the things, we can finally start using it. This will allow us to remove hand-written api docs from the documentation and should make sure everything is always kept up to date.

### Generating from us-hosted (Unleash enterprise)

Unleash has several different versions (open source, pro, enterprise). The versions do not necessarily have the exact same api surface. In fact, the enterprise version has a few endpoints that open source does not.

Because we want to have _all_ endpoints listed in the documentation we need to generated the docs from an enterprise spec. Which brings us into the next point:

### The need for scheduled jobs

Regarding the daily scheduled tasks to update the documentation: why do we need that?

The docs are generated from the tip of the main branch. For most of the docs, this is good and something that we want. However, because the OpenAPI docs are generated from the enterprise edition, it _will not be in sync_ with the open source main branch.

Also, we probably do not want the docs to list the current bleeding edge api changes. Instead, we should prefer to use the latest enterprise release (roughly). However, because we don't get notified when this version is released and deployed, we'll instead run the API generation on a daily cadence.

This isn't the perfect solution, but it's simple and gets us 80% of the way there. More intricate solutions can be set up later.

## How

-   By adding a scheduled workflow to the generate docs config.
-   By adding .gitignore entries for the generated files

There's also some minor changes in styling etc.

## Dependencies

This is dependent on the changes introduced in #2062 having propagated to the enterprise release, which will probably not be for another week or so.

## Discussion

What should the API reference docs url be? I've set it to be `/reference/api/unleash/*` for now, but I'm on the fence about whether it should be `apis` or `api` in there. I also want to get the proxy and other APIs in there as we grow.

-------

## Commits

* docs: style openapi operation buttons

* docs: minor operation badge adjustments

* docs: use permalink to css snippet i copied

* docs: ignore files related to openapi generation

* docs: re-enable openapi docs

* Docs(#1391): prep for integration

* docs(#1391): run docs generation daily

* docs(#1391): add generation step to doc prs too

* docs(#1391): use the US hosted instance to generate docs

* docs(#1391): move doc generation into build command

* docs(#1391): use `/reference/api/*` instead of `/reference/apis/*`
2022-09-19 14:50:24 +02:00
Gastón Fournier ee6ec888a7 feat: Update to pull_request_target (#2059)
External builds are failing to upload coverage report
2022-09-13 09:57:14 +02:00
sjaanus e6e6da6a44 Revert workflow (#2051) 2022-09-09 06:51:56 +00:00
Gastón Fournier 6e52718eab Schedule link checker action (#2050)
Runs at 12:30 UTC on Mon, Tue, Wed, Thu and Fri
2022-09-07 16:38:39 +02:00
Gastón Fournier 6ef8c78e06 docs: test broken links in website (#1912)
The action triggers manually as a first step to test this functionality. In the near future, we might schedule it
2022-09-07 13:31:38 +00:00
sjaanus e21cf00ca7 Merge e2e tests into matrix (#2007) 2022-08-30 13:23:09 +00:00
olav 5ba0f3b5f0 refactor: remove duplicate install/build step (#1994) 2022-08-29 15:26:17 +02:00
sjaanus ac957a096c Fix changelog (#1991) 2022-08-29 12:32:06 +00:00
sjaanus d0631f0d74 Move e2e tests from frontend to backend .github (#1975)
* Add e2e tests

* Remove cypress key

* Add project tag

* Add cypress to root

* Add cypress working directory and package.json in subfolder

* Remove record flag

* Add contains to url check

* Test segment e2e test

* Remove one of contains

* Test e2e tests

* Fix e2e

* Test new yml

* New yaml

* Test different echo

* Update workflows

* Fix deployment url

* Fix formatting
2022-08-29 12:25:11 +00:00
sjaanus a1ce89bedc Merge frontend with backend (#1962)
* fix: use the frontend dir from the backend

* Build is now working

* Fix workflows

* Fix workflows

* Fix build PRs

* Test coverage workflow

* Test coverage

* Test coverage run

* Fix jest report

* refactor: add missing frontend build

* refactor: ignore frontend dir for coverage

* refactor: run frontend build in PRs

* refactor: run backend tests in PRs

* Revert "refactor: run backend tests in PRs"

This reverts commit 22cabddfd1.

* refactor: remove unused frontend build file

* refactor: test workflows in PR

* refactor: use a prepare script for the frontend

* refactor: simplify yarn build scripts

* refactor: fix check-release script

* Revert "refactor: test workflows in PR"

This reverts commit 496ae19404.

* refactor: remove unused gitignore lines

* refactor: remove renovate config from the frontend repo

* refactor: remove frontend repo license

* refactor: remove frontend repo changelog

* refactor: update frontend repo readme

* refactor: add frontend node_modules to dockerignore

* refactor: update the docker yarn.lock snapshot

Co-authored-by: olav <mail@olav.io>
2022-08-26 07:25:31 +00:00
Christopher Kolstad ea8b78669e improvement: mark github releases as prerelease (#1808)
This marks alpha and beta releases as prereleases, so github's release
tab doesn't show beta releases as our latest releases anymore
2022-07-12 15:34:10 +02:00
renovate[bot] aa415610f7 chore(deps): update docker/build-push-action action to v3 (#1766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-11 14:01:45 +02:00
renovate[bot] f444a59065 chore(deps): update docker/setup-qemu-action action to v2 (#1770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-11 14:01:26 +02:00
renovate[bot] 4c4a3b458d chore(deps): update docker/setup-buildx-action action to v2 (#1769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-11 14:01:04 +02:00
Thomas Heartman a3aff4421b Meta: use org-wide stale bot config (#1789) 2022-07-05 15:59:11 +02:00
Gard Rimestad 0ffa52c9e4 feat: publish docker containers on tag builds (#1788)
This moves the production of docker releases from Unleash/unleash-docker
to this repository.
2022-07-05 15:55:17 +02:00
sellinjaanus 04fb065df4 Added missing archivedAt to featureSchema (#1779)
* Added missing archivedAt to featureSchema

* Added archivedAt to feature toggle.
Added archived_at to db

* Add test

* Add test

* Bug fix

* Bug fix

* update archivedAt to date-time

* Code refactoring done

* Conver to static and remove unused methods

* Add tests

* Fixes

* Fix

* Removed docker file from linting

* Fix segment test

* Fix failing test

* Make fixes

Co-authored-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: andreas-unleash <104830839+andreas-unleash@users.noreply.github.com>
2022-07-01 11:51:26 +00:00
renovate[bot] 390ae8df2b chore(deps): update docker/metadata-action action to v4 (#1768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-29 09:36:09 +02:00
renovate[bot] fbbd037d35 chore(deps): update docker/login-action action to v2 (#1767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-29 09:24:47 +02:00
Gard Rimestad 5d5fc37dfd Feat/docker container on main builds (#1762)
* feat: build docker containers when pushing to main

The intent here is to publish a docker container for every build of
main. This will make it easier to run the tip of main.
2022-06-28 16:13:00 +02:00
Christopher Kolstad 90b72f1162 chore: update setup-node task to activate yarn cache (#1661) 2022-06-09 14:26:35 +02:00
Ivar Conradi Østhus 5dc7d8dfac Create codeql-analysis.yml 2022-05-23 12:22:31 +02:00
Ivar Conradi Østhus 5460245a67 fix: do not produce report.json in coverage action for now 2022-05-20 19:29:14 +02:00
Ivar Conradi Østhus 3c91acca4c fix: coverage action 2022-05-20 16:48:13 +02:00
Ivar Conradi Østhus 51c1c790b4 fix: inline coverage action script commands 2022-05-20 16:41:43 +02:00
Ivar Conradi Østhus 477779069d fix: switch gh token for coverage action 2022-05-20 16:23:42 +02:00
Thomas Heartman 312b5d42e8 meta: add external PRs to project board
The `pull_request` hook runs in the context of the proposed changes. That means that for forks, this action won't have access to the required secrets for it to complete. As such, PRs from outside contributors won't work correctly.

The `pull_request_target` hook, however, runs in the context of the target branch, and thus has all the permissions it needs. The [github docs for this hook](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target) also indicate that this is the way to go:

> This event allows your workflow to do things like label or comment on pull requests from forks. Avoid using this event if you need to build or run code from the pull request.

## Interesting note for PRs

It seems that when this change is proposed as a PR, the expected action (_add new item to project board_) does not run. However, this does not affect other new PRs. Also, after merging it works as expected, for both external and internal contributors.
2022-05-20 15:21:54 +02:00
Ivar Conradi Østhus 4eaec6e1d3 fix: add gh creds to coverage action 2022-05-20 12:25:17 +02:00
Ivar Conradi Østhus f681f83706 fix: coverage action 2022-05-20 12:19:08 +02:00
Ivar Conradi Østhus b25435052b fix: coverage build for main should be a seperate workflow 2022-05-20 12:09:16 +02:00
Ivar Conradi Østhus b16e842849 fix: auto-push coverage 2022-05-20 12:00:30 +02:00
Ivar Conradi Østhus 3d6cfb6582 fix: do not ignore coverage/report.json 2022-05-20 11:44:53 +02:00
Ivar Conradi Østhus 7ddb9f70eb fix: more debugigng to jest coverage action (POC) 2022-05-20 11:38:54 +02:00
Ivar Conradi Østhus 4869ee8266 fix: more debug 2022-05-20 11:37:43 +02:00
Ivar Conradi Østhus efb69e6474 fix: add debug step 2022-05-20 11:30:20 +02:00
Ivar Conradi Østhus 34c4f5bd84 fix: only specify base-cov-file for jest action (poc) 2022-05-20 11:20:09 +02:00
Ivar Conradi Østhus d6f0d83a97 fix: specify coverage files to use for jest pr action (poc) 2022-05-20 11:16:44 +02:00
Thomas Heartman 119d958e7c fix: add version information for reusable workflow
without this, the workflow won't run
2022-05-11 11:38:39 +02:00
Thomas Heartman c260f90094 chore: Add workflow file to auto-add items to project board (#1588)
This change adds a workflow file that references the reusable workflow
in the unleash/.github repo. It should (if all goes well),
automatically add new issues and prs to the project board.
2022-05-11 11:10:16 +02:00
Ivar Conradi Østhus 25b3d57c3e fix: pr-build use pull_request_target event 2022-04-28 19:38:19 +02:00
Ivar Conradi Østhus dc06c2c90d fix: create separate build for forked PRs 2022-04-25 13:12:50 +02:00
sighphyre 01da74014a fix: trim out test trigger for svg gen 2022-04-22 10:40:23 +02:00
sighphyre b72ca55f65 feat: use svg generator fork to create contributors and extend limit to 500 2022-04-22 10:36:29 +02:00
sighphyre aa1f97889c Update .github/workflows/update_contributors.yaml
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2022-04-21 14:11:48 +02:00
sighphyre 7c5107e680 feat: add contributors image generation workflow 2022-04-21 13:50:08 +02:00
Ivar Conradi Østhus 2f638334b1 fix: release script syntax 2022-04-20 23:45:02 +02:00
Ivar Conradi Østhus 636f03257f fix: update npm publish script to select correct dist-tag 2022-04-20 23:38:55 +02:00
sighphyre 9101884c5e feat: add no response action config 2022-04-20 08:30:13 +02:00