Commit graph

374 commits

Author SHA1 Message Date
Nicolas Giard 52f34717dd
ci: fix build notify status 2023-05-12 15:59:29 -04:00
Jennifer Richards 96396b833c
Merge pull request #5611 from ietf-tools/main
chore: merge main into feat/django4
2023-05-12 11:05:57 -03:00
Nicolas Giard 2590ab226c
ci: build workflow - deploy to legacy sandbox (wip) 2023-05-11 16:35:27 -04:00
Nicolas Giard 94fad6edd4
ci: build workflow - deploy to legacy sandbox (wip) 2023-05-11 16:20:40 -04:00
Nicolas Giard 7a801c3c75
ci: build workflow - deploy to legacy sandbox (wip) 2023-05-11 16:13:32 -04:00
Nicolas Giard 6fe0c513d2
ci: build workflow - deploy to legacy sandbox (wip) 2023-05-11 15:44:45 -04:00
Nicolas Giard a3459b438d
ci: build workflow - deploy to legacy sandbox (wip) 2023-05-11 15:36:50 -04:00
Nicolas Giard 1ed87475d3
ci: build workflow - deploy to legacy sandbox (wip) 2023-05-11 15:15:20 -04:00
Nicolas Giard 492309b9fe
ci: fix skip tests build workflow (take 4) 2023-05-11 14:38:42 -04:00
Nicolas Giard 19ddfd6397
ci: fix skip tests build workflow (take 3) 2023-05-11 14:33:48 -04:00
Nicolas Giard b767733f89
ci: fix skip tests build workflow (take 2) 2023-05-11 14:18:11 -04:00
Nicolas Giard 02f3606c00
ci: fix skip tests build workflow 2023-05-11 14:12:42 -04:00
Jennifer Richards f8a9efc5a4
ci: run tests on feat/django4 PRs (#5604) 2023-05-11 12:39:12 -03:00
Nicolas Giard 180663e4ed
ci: fix build workflow conditions 2023-04-26 15:48:15 -04:00
Nicolas Giard 18445f27bf
ci: replace production flag with release trigger 2023-04-25 20:50:19 -04:00
Nicolas Giard 9a2fa59977
ci: fix ci-run-tests.yml workflow 2023-04-25 12:21:35 -04:00
Nicolas Giard d79ed21998
ci: fix build workflow 2023-04-24 18:10:48 -04:00
Nicolas Giard 502fa41560
ci: fix build workflow conditions 2023-04-24 18:08:01 -04:00
Nicolas Giard 27ae8a6734
ci: fix build workflow conditions 2023-04-24 17:59:30 -04:00
Nicolas Giard d9d7035ace
ci: fix build workflow 2023-04-24 17:49:20 -04:00
Nicolas Giard 703d7f5a9f
ci: improve build workflow notifications 2023-04-24 17:47:35 -04:00
Nicolas Giard 65ee1ae549
ci: improve build workflow conditions 2023-04-24 17:26:16 -04:00
Nicolas Giard 6b893ce71f
ci: add release branch check to build workflow 2023-04-24 17:16:23 -04:00
dependabot[bot] 3eedaea8b1
ci(deps): bump codecov/codecov-action from 3.1.2 to 3.1.3 (#5529)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 16:27:34 -04:00
Nicolas Giard bd8013163c
ci: update build workflow to use 10.0 prefix for dev builds 2023-04-23 19:39:06 -04:00
Nicolas Giard 9c40b9300a
chore: update remaining config files to point to new db image 2023-04-18 17:16:13 -04:00
dependabot[bot] 9f5dae361f
ci: bump codecov/codecov-action from 3.1.1 to 3.1.2 (#5500)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v3.1.1...v3.1.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-18 02:15:12 -04:00
Nicolas Giard 8f31ed8a54
ci: disable dev-db-nightly workflow 2023-04-12 20:53:37 -04:00
Robert Sparks 01b4a91bfe
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-29 10:41:47 +09:00
Nicolas Giard 1388b030ee
ci: run tests on feat/postgres PRs 2023-03-25 22:14:46 -04:00
Nicolas Giard f40681d715
ci: run tests on feat/postgres PRs 2023-03-25 22:12:00 -04:00
Nicolas Giard b5f9601852
ci: add dev-db-migrations-test.yml workflow 2023-03-25 01:45:56 -04:00
Robert Sparks 88a78cf1ab
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-20 13:46:32 -05:00
Robert Sparks c3e6708b72
chore: change the way migrations are invoked for actions and dev builds (#5356) 2023-03-16 12:24:03 -05:00
dependabot[bot] ac7efdad4d
chore(deps): bump actions/dependency-review-action from 2 to 3 (#5301)
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 2 to 3.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 15:59:47 -04:00
dependabot[bot] a157699a2e
chore(deps): bump docker/build-push-action from 3 to 4 (#5298)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 15:58:15 -04:00
Robert Sparks 4b4e876305
Merge branch 'main' into feat/postgres 2023-03-09 11:43:38 -06:00
Lars Eggert e060eb46df
chore: Use newer versions of various actions (#5273) 2023-03-08 12:54:46 -06:00
Robert Sparks c5f35e4c86
fix: GH workflows should test against postgres, not sqlite. (#5248) 2023-02-28 16:23:49 -06:00
Robert Sparks f010766654
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-02-27 12:55:47 -06:00
Nicolas Giard 25172f1444
ci: update download-artifact actions in build workflow 2023-02-22 18:05:09 -05:00
Nicolas Giard ce374acc78
ci: update codecov action in build workflow 2023-02-22 16:48:27 -05:00
Nicolas Giard d6725f62ef
ci: update codecov action in ci-run-tests workflow 2023-02-22 16:47:42 -05:00
Robert Sparks e1206fa91e
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-13 09:17:05 -06:00
NGPixel d73e5d7d53
ci: remove old versions during nightly db build 2023-02-08 15:41:47 -05:00
Nicolas Giard 9a673a27ac
ci: fix nightly db build schedule condition 2023-02-07 14:26:35 -05:00
Nicolas Giard 84d7c77dce
ci: fix nightly db build schedule condition 2023-02-07 14:25:39 -05:00
Robert Sparks 84d766232b
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-07 12:20:36 -06:00
Nicolas Giard 9ea2ee6234
ci: fix db nightly build condition 2023-02-01 20:18:28 -05:00
Nicolas Giard f763db206b
ci: add workflow options to nightly db build 2023-02-01 20:02:22 -05:00
Robert Sparks c04feb5765
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-26 10:37:50 -06:00
Nicolas Giard e7c2063992
ci: disable buildx provenance on dev db nightly builds 2023-01-25 22:44:27 -05:00
Robert Sparks 2351629fcc
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-23 10:28:14 -06:00
Nicolas Giard af26ff68da
ci: retry failing pg migrate step 2023-01-11 23:33:50 -05:00
Nicolas Giard 26ef885642
ci: update build workflow to set latest flag on release 2023-01-10 23:48:18 -05:00
Robert Sparks ec2b7d0d04
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-01-06 17:29:49 -06:00
Nicolas Giard ae41ff8dcc
ci: update self-hosted workflow references 2022-12-22 17:30:48 -05:00
Nicolas Giard 64fffae37d
ci: update build workflow to set latest flag on release 2022-12-22 17:17:19 -05:00
Nicolas Giard acfa7a1629
ci: fix build + pr test steps to use pg db 2022-12-20 20:22:08 -05:00
Robert Sparks 795c182df8
Merge remote-tracking branch 'origin/main' into feat/postgres 2022-12-20 08:31:02 -06:00
Lars Eggert 82bb7c81d2
Create dependency-review.yml (#4522) 2022-12-19 15:07:09 -06:00
Nicolas Giard 286e737d98
ci: nightly db build - pin download artifact action to v3 2022-12-15 15:52:31 -05:00
Robert Sparks 01c705323d
ci: use prebuilt postgres data for the build container (#4908)
* ci: use prebuilt postgres data for the build container

* ci: remove volumes that wont be reused anyhow
2022-12-15 14:02:30 -06:00
Nicolas Giard ce9afdcc90
ci: move pg build to nightly db workflow 2022-12-14 00:20:49 -05:00
Nicolas Giard eac5ec0d67
ci: add workflow permissions to pgtest 2022-12-13 23:38:51 -05:00
Nicolas Giard d9f7488dfb
ci: add missing workflow dependency 2022-12-13 19:57:47 -05:00
Nicolas Giard 5a48d6a77d
ci: add multi-platform pg image build workflow steps 2022-12-13 19:39:27 -05:00
Nicolas Giard bc1cba1cca
ci: add pgdb service to test build workflow 2022-12-13 17:48:54 -05:00
Nicolas Giard 0d2e264de4
ci: add test pg build workflow 2022-12-13 15:37:04 -05:00
Nicolas Giard dc023b3e17
ci: fix nightly db build workflow 2022-12-13 14:47:10 -05:00
Nicolas Giard 17fc283944
ci: add pg dockerfile to nightly build 2022-12-13 00:34:53 -05:00
Nicolas Giard 83771aceb3
ci: scheduled shared assets rsync 2022-12-07 17:49:47 -05:00
Nicolas Giard 94e4a0ddd2
ci: add sandbox deploy labels to cli 2022-12-06 17:13:03 -05:00
Nicolas Giard d8db6e7102
ci: build workflow dynamic name (2) 2022-12-02 14:41:10 -05:00
Nicolas Giard 1ca716faf7
ci: build workflow dynamic name 2022-12-02 14:31:46 -05:00
Nicolas Giard 3c6a60e260
ci: build workflow dynamic name 2022-12-02 14:30:44 -05:00
Nicolas Giard 1e99f88c44
ci: update sandbox to dev.ietf.org 2022-12-01 18:04:18 -05:00
Nicolas Giard 507c6b1914
ci: always run slack notify 2022-12-01 01:20:38 -05:00
Nicolas Giard 6293e61287
ci: add missing build matrix config for test-playwright-legacy step 2022-11-28 18:15:39 -05:00
Robert Sparks 2636c59f99
feat: stop supporting pre-tzaware migration database dumps. (#4782)
* feat: stop supporting pre-tzaware migration database dumps.

* chore: remove unnecessary env variable
2022-11-28 10:17:22 -06:00
Nicolas Giard a79e9ab571
ci: run pr tests on client file changes 2022-11-22 18:18:29 -05:00
Nicolas Giard 1acd348767
docs: add info for firefox root workaround in tests workflow 2022-11-22 17:54:19 -05:00
Nicolas Giard deb01f2d83
test: remove cypress + migrate existing tests to playwright (#4781)
* test: remove cypress + migrate existing tests to playwright + update workflows

* ci: remove leftover condition in ci-run-tests workflow

* ci: add missing matrix to tests-playwright-legacy

* ci: run playwright legacy as user 1001

* ci: set home var for firefox

* ci: allow firefox to run as root for tests
2022-11-22 16:26:19 -06:00
Nicolas Giard 72648dc01c
ci: replace set-output from deb db workflow 2022-11-18 19:53:47 -05:00
Nicolas Giard c864c90538
ci: update dev db workflow to latest actions 2022-11-18 19:52:07 -05:00
Nicolas Giard be5197c9bd
ci: update lock-threads workflow (2) 2022-11-17 15:22:00 -05:00
Nicolas Giard fa50b33812
ci: update lock-threads workflow 2022-11-17 15:14:55 -05:00
Nicolas Giard c405264811
ci: use from/to tags for changelog build action 2022-11-16 19:05:21 -05:00
Nicolas Giard 9579f6143c
ci: enable skipInvalidTags option in semver build action 2022-11-16 17:28:25 -05:00
Nicolas Giard 8b23be83d2
ci: build workflow explicit default values 2022-11-16 16:46:23 -05:00
Nicolas Giard cfda9892b2
ci: update build dev base version to 9.0.x 2022-11-14 19:42:58 -05:00
Nicolas Giard 4c471983c3
ci: revert prod settings change when deploying to sandbox 2022-11-14 17:26:48 -05:00
Jennifer Richards 879bedb2c9
ci: do the USE_TZ migration dance for feat/tzaware tests (#4680) 2022-10-31 14:25:52 -03:00
Jennifer Richards b6b2902857
ci: enable pull_request trigger for feat/tzaware branch (#4677) 2022-10-28 17:37:20 -03:00
Jennifer Richards f42016d8fb
Merge branch 'feat/tzaware' into dev/main-merge-to-tzaware 2022-10-27 11:58:32 -03:00
NGPixel b49d92e674
ci: deploy to sandbox - celery containers 2022-10-27 00:04:05 -04:00
Nicolas Giard a358119599
ci: deploy to container workflow - clean unused docker images 2022-10-26 15:33:07 -04:00
Nicolas Giard 7f4f3064cc
ci: update sandbox workflow 2022-10-26 00:16:49 -04:00
Nicolas Giard 970ae448d8
ci: add sandbox deploy workflow (wip) 2022-10-25 17:12:35 -04:00
Nicolas Giard f802f3b8b5
ci: add sandbox deploy workflow (wip) 2022-10-25 16:09:52 -04:00
Nicolas Giard bbe13c3145
ci: add sandbox deploy workflow (wip) 2022-10-25 15:53:43 -04:00
Nicolas Giard fb0617f333
ci: add sandbox deploy workflow (wip) 2022-10-25 15:29:19 -04:00
Nicolas Giard 03bce5f2ff
ci: add sandbox deploy workflow (wip) 2022-10-25 15:15:06 -04:00
Nicolas Giard 16dc976ad1
ci: add sandbox deploy workflow (wip) 2022-10-25 14:58:49 -04:00
Nicolas Giard ba3391b8f8
ci: add sandbox deploy workflow (wip) 2022-10-25 14:46:16 -04:00
Jennifer Richards f3bdbf0ed4
Merge branch 'feat/tzaware' into jennifer/main-for-tzaware-merge
# Conflicts:
#	ietf/meeting/tests_js.py
#	ietf/meeting/tests_models.py
#	ietf/meeting/tests_views.py
#	ietf/meeting/views.py
#	ietf/name/fixtures/names.json
#	ietf/templates/meeting/agenda.html
#	ietf/templates/meeting/session_buttons_include.html
#	ietf/templates/meeting/timeslot_start_end.html
2022-10-14 16:35:57 -03:00
Nicolas Giard eb45bd7c66
ci: improve slack notif on completed build 2022-10-13 20:10:07 -04:00
Nicolas Giard bee77447b8
ci: add slack notification on build release end 2022-10-13 19:47:51 -04:00
Nicolas Giard 30e3f5b079
ci: downgrade release action to node 16 2022-10-13 16:02:58 -04:00
Nicolas Giard 0ffd7fa4bb
ci: update remaining actions to latest in build workflow 2022-10-13 15:03:30 -04:00
Nicolas Giard 6cebbcc8fa
ci: update build workflow with latest checkout action 2022-10-13 14:50:44 -04:00
Nicolas Giard 94e93ebb3b
ci: update build workflow to use latest release-action 2022-10-13 14:47:13 -04:00
Nicolas Giard 6abcbd7502
ci: update build workflow to use latest setup-node action 2022-10-13 14:26:55 -04:00
Nicolas Giard 08dfb82fa4
ci: use setup-node@v3 for run tests workflow 2022-10-11 17:48:32 -04:00
Jennifer Richards ca1320f303
chore: merge main into feat/tzaware
chore: merge main into feat/tzaware
2022-09-22 12:21:38 -03:00
Nicolas Giard 2926d3bd5b
ci: add playwright tests to PR checks 2022-09-21 15:36:07 -04:00
Nicolas Giard 143877ec3d
test: Use Playwright + agenda start/end dates fix (#4471)
* test: agenda-neue - separate timezone controls assertions to allow retries

* test: agenda-neue - use dom query selectors instead of first() / eq()

* test: agenda-neue - playwright

* test: fix playwright setup for ci

* test: playwright - remove safari + fix timezone local

* test: upload playwright report

* test: playwright - fix trace upload

* test

* test: playwright - agenda search

* test: fix startdate timezone

* test: playwright - agenda table events

* test: playwright - remove only filter

* test: remove exit early flag

* test: allow longer tests

* test: agenda materials dialog

* test: agenda filter by area/group

* test: agenda calendar view

* test: agenda settings

* test: jump to day

* test: fix agenda jump to day timezone parse

* test: increase test timeout

* test: remove fail fast

* test: test sharding + increase delay

* test: fixes

* test: use macos image

* test: fixes

* test: agenda color assign + future + live meeting tests

* test: agenda mobile tests

* test: remainder of tests for playwright + optimizations

* test: red line intersection accept close value

* test: add delay for agenda search tests

* chore: cleanup old tests + adapt build workflow

* ci: fix build workflow

* ci: fix build workflow order

* fix: point to playwright floor plan images + readme
2022-09-20 13:33:22 -05:00
Jennifer Richards 1366b6de38
Merge branch 'feat/tzaware' into jennifer/main-to-tzaware-conflicts 2022-09-14 12:36:33 -03:00
Robert Sparks 38e0f5bacb
ci: migrate through the tzaware boundary (#4445)
* ci: migrate through the tzaware boundary

* fix: actually use TZ
2022-09-13 15:23:44 -05:00
Nicolas Giard 82756c31a4
ci: update build workflow to use bash when running python tests 2022-09-08 15:38:13 -04:00
Nicolas Giard 31f659de55
ci: fix build workflow test condition 2022-09-08 15:26:25 -04:00
Nicolas Giard c8c2ca1c81
ci: fix build workflow test condition 2022-09-08 15:06:10 -04:00
Nicolas Giard 56bd75a4b0
ci: add ignore lower coverage flag to build workflow 2022-09-08 14:55:36 -04:00
Nicolas Giard 1dedeac83e
ci: add cypress screenshots to build artifacts 2022-09-07 21:04:16 -04:00
Nicolas Giard 131c4d78d4
ci: run cypress modern on macos 2022-09-07 15:33:05 -04:00
Nicolas Giard c5d11aafb9
ci: cypress - run vite preview in background 2022-09-07 14:39:04 -04:00
Nicolas Giard 9d055f8dd8
test: add agenda-neue cypress tests (#4293)
* fix: move vue app to parent dir

* test: prepare vue for cypress testing

* test: add basic cypress test for vue app

* test: add agenda-neue header tests

* test: meeting generator for cypress tests (wip)

* test: agenda-neue meeting nav + settings button

* test: agenda-neue check settings button position against viewport size

* test: agenda-neue fix viewport + add schedule list header tests

* test: agenda-neue timezone tests + future meeting template

* test: agenda-neue add test floor plan image fixtures

* test: floor-plan-neue - handle floor plan images

* test: floor-plan-neue room selection + pin drop tests

* test: floor-plan-neue - test all viewports

* test: floor-plan-neue add missing header tests

* test: agenda-neue - generate areas + groups

* test: agenda-neue - test filter areas + groups dialog

* test: agenda-neue code cleanup + generate schedule (wip)

* test: agenda-neue - generate schedule (wip)

* test: agenda-neue - generate schedule + test settings dialog (wip)

* test: agenda-neue - settings timezone controls

* test: agenda-neue - settings toggles + agenda table headers tests

* test: agenda-neue - table events + memory fixes

* test - agenda-neue - table events remaining columns tests

* test: agenda-neue - meeting materials dialog + future schedule list table buttons

* test: agenda-neue - remove skips

* test: agenda-neue - search

* test: agenda-neue - remove skips

* test: agenda-neue - use random seed for deterministic results

* test: agenda-neue - set constant clock

* test: add percy to cypress + upgrade cypress

* test: agenda-neue - jump to day tests

* test: agenda-neue - add to calendar tests

* test: agenda-neue - add pick sessions tests

* test: agenda-neue - calendar view tests

* test: agenda-neue - color assignment tests

* test: agenda-neue - skip test not supported in firefox/safari

* test: agenda-neue - live sessions tests

* test: agenda-neue - smaller screens tests

* chore: update workflows to handle modern + legacy cypress tests

* test: fix legacy agenda weekview test + cypress legacy config
2022-09-07 14:14:12 -04:00
Nicolas Giard 41ae0cfac1
ci: update baseline coverage on build + new file URL (#4365) 2022-08-25 09:58:16 -05:00
Jennifer Richards bacd54477b
ci: fix filename of MQ broker workflow YAML (#4354) 2022-08-22 15:28:58 -05:00
Jennifer Richards 280629e061
ci: fix repo used for container builds (#4353)
* doc: change /a/docker/datatracker-cel to .../datatracker

* ci: remove debug repo from build workflows
2022-08-22 15:18:04 -05:00
Jennifer Richards 3705bedfcd
feat: Celery support and asynchronous draft submission API (#4037)
* ci: add Dockerfile and action to build celery worker image

* ci: build celery worker on push to jennifer/celery branch

* ci: also build celery worker for main branch

* ci: Add comment to celery Dockerfile

* chore: first stab at a celery/rabbitmq docker-compose

* feat: add celery configuration and test task / endpoint

* chore: run mq/celery containers for dev work

* chore: point to ghcr.io image for celery worker

* refactor: move XML parsing duties into XMLDraft

Move some PlaintextDraft methods into the Draft base class and
implement for the XMLDraft class. Use xml2rfc code from ietf.submit
as a model for the parsing.

This leaves some mismatch between the PlaintextDraft and the Draft
class spec for the get_author_list() method to be resolved.

* feat: add api_upload endpoint and beginnings of async processing

This adds an api_upload() that behaves analogously to the api_submit()
endpoint. Celery tasks to handle asynchronous processing are added but
are not yet functional enough to be useful.

* perf: index Submission table on submission_date

This substantially speeds up submission rate threshold checks.

* feat: remove existing files when accepting a new submission

After checking that a submission is not in progress, remove any files
in staging that have the same name/rev with any extension. This should
guard against stale files confusing the submission process if the
usual cleanup fails or is skipped for some reason.

* refactor: make clear that deduce_group() uses only the draft name

* refactor: extract only draft name/revision in clean() method

Minimizing the amount of validation done when accepting a file. The
data extraction will be moved to asynchronous processing.

* refactor: minimize checks and data extraction in api_upload() view

* ci: fix dockerfiles to match sandbox testing

* ci: tweak celery container docker-compose settings

* refactor: clean up Draft parsing API and usage

  * remove get_draftname() from Draft api; set filename during init
  * further XMLDraft work
    - remember xml_version after parsing
    - extract filename/revision during init
    - comment out long broken get_abstract() method
  * adjust form clean() method to use changed API

* feat: flesh out async submission processing

First basically working pass!

* feat: add state name for submission being validated asynchronously

* feat: cancel submissions that async processing can't handle

* refactor: simplify/consolidate async tasks and improve error handling

* feat: add api_submission_status endpoint

* refactor: return JSON from submission api endpoints

* refactor: reuse cancel_submission method

* refactor: clean up error reporting a bit

* feat: guard against cancellation of a submission while validating

Not bulletproof but should prevent

* feat: indicate that a submission is still being validated

* fix: do not delete submission files after creating them

* chore: remove debug statement

* test: add tests of the api_upload and api_submission_status endpoints

* test: add tests and stubs for async side of submission handling

* fix: gracefully handle (ignore) invalid IDs in async submit task

* test: test process_uploaded_submission method

* fix: fix failures of new tests

* refactor: fix type checker complaints

* test: test submission_status view of submission in "validating" state

* fix: fix up migrations

* fix: use the streamlined SubmissionBaseUploadForm for api_upload

* feat: show submission history event timestamp as mouse-over text

* fix: remove 'manual' as next state for 'validating' submission state

* refactor: share SubmissionBaseUploadForm code with Deprecated version

* fix: validate text submission title, update a couple comments

* chore: disable requirements updating when celery dev container starts

* feat: log traceback on unexpected error during submission processing

* feat: allow secretariat to cancel "validating" submission

* feat: indicate time since submission on the status page

* perf: check submission rate thresholds earlier when possible

No sense parsing details of a draft that is going to be dropped regardless
of those details!

* fix: create Submission before saving to reduce race condition window

* fix: call deduce_group() with filename

* refactor: remove code lint

* refactor: change the api_upload URL to api/submission

* docs: update submission API documentation

* test: add tests of api_submission's text draft consistency checks

* refactor: rename api_upload to api_submission to agree with new URL

* test: test API documentation and submission thresholds

* fix: fix a couple api_submission view renames missed in templates

* chore: use base image + add arm64 support

* ci: try to fix workflow_dispatch for celery worker

* ci: another attempt to fix workflow_dispatch

* ci: build celery image for submit-async branch

* ci: fix typo

* ci: publish celery worker to ghcr.io/painless-security

* ci: install python requirements in celery image

* ci: fix up requirements install on celery image

* chore: remove XML_LIBRARY references that crept back in

* feat: accept 'replaces' field in api_submission

* docs: update api_submission documentation

* fix: remove unused import

* test: test "replaces" validation for submission API

* test: test that "replaces" is set by api_submission

* feat: trap TERM to gracefully stop celery container

* chore: tweak celery/mq settings

* docs: update installation instructions

* ci: adjust paths that trigger celery worker image  build

* ci: fix branches/repo names left over from dev

* ci: run manage.py check when initializing celery container

Driver here is applying the patches. Starting the celery workers
also invokes the check task, but this should cause a clearer failure
if something fails.

* docs: revise INSTALL instructions

* ci: pass filename to pip update in celery container

* docs: update INSTALL to include freezing pip versions

Will be used to coordinate package versions with the celery
container in production.

* docs: add explanation of frozen-requirements.txt

* ci: build image for sandbox deployment

* ci: add additional build trigger path

* docs: tweak INSTALL

* fix: change INSTALL process to stop datatracker before running migrations

* chore: use ietf.settings for manage.py check in celery container

* chore: set uid/gid for celery worker

* chore: create user/group in celery container if needed

* chore: tweak docker compose/init so celery container works in dev

* ci: build mq docker image

* fix: move rabbitmq.pid to writeable location

* fix: clear password when CELERY_PASSWORD is empty

Setting to an empty password is really not a good plan!

* chore: add shutdown debugging option to celery image

* chore: add django-celery-beat package

* chore: run "celery beat" in datatracker-celery image

* chore: fix docker image name

* feat: add task to cancel stale submissions

* test: test the cancel_stale_submissions task

* chore: make f-string with no interpolation a plain string

Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-08-22 13:29:31 -05:00
Robert Sparks 1dab3b1086
fix: use django 2.2 makemigrations --check (#4351) 2022-08-22 12:37:04 -05:00
Robert Sparks b8aa52f33a
fix: run migrations before looking for missing ones while bulding (#4350) 2022-08-22 11:15:45 -05:00
Robert Sparks 3532a4f28b
test: migrate db before checking for missing migrations. (#4341) 2022-08-18 10:08:31 -05:00
Nicolas Giard f5908475c2
ci: cypress - run datatracker in background 2022-07-13 19:12:33 -04:00
Nicolas Giard e8c37d6f4b
ci: run cypress tests 2022-07-13 18:57:48 -04:00
Nicolas Giard 6f1d7e478e
ci: reduce lock threads workflow to daily schedule 2022-06-22 16:26:21 -04:00
Nicolas Giard ef6c5b7f78
ci: update db nightly build schedule to 0800 UTC 2022-06-20 15:25:28 -04:00
Nicolas Giard df27d0f3cf
ci: update lock threads workflow 2022-06-16 14:26:35 -04:00
Nicolas Giard 3252e75c49
ci: add auto closed issue/pr locking workflow 2022-06-16 14:23:21 -04:00
Nicolas Giard e2034d43f7
ci: change build artifact name 2022-06-15 18:14:44 -04:00
Nicolas Giard 58bb8cd72a
chore: remove full image build poc 2022-06-15 16:02:18 -04:00
Nicolas Giard d825a59e67
ci: build app image with full assets 2022-06-04 17:59:31 -04:00
Nicolas Giard 9983b97a38
ci: remove debug arm64 db workflow 2022-05-26 02:56:12 -04:00
Nicolas Giard e39ace5f60
ci: escape matrix values in nightly db workflow 2022-05-25 22:47:20 -04:00
Nicolas Giard 242626c849
ci: fix nightly db docker workflow typo 2022-05-25 22:46:15 -04:00
Nicolas Giard 816cf8867e
ci: create manifest from nightly db dev images (x64 + arm64) 2022-05-25 22:45:30 -04:00
Nicolas Giard 8c9c198d27
ci: add debug db container build workflow for arm64 2022-05-25 16:50:17 -04:00
Nicolas Giard 6094645e7a
ci: revert db docker image to only amd64 2022-05-24 21:41:59 -04:00
Nicolas Giard 6c1f98aaf8
ci: build multi-arch db image 2022-05-24 21:06:52 -04:00
Nicolas Giard 90c2720031
ci: add arm64 to base docker image platforms to build 2022-05-24 19:50:16 -04:00
Nicolas Giard 0eb9cb4f57
ci: use new app base docker image for tests 2022-05-24 15:59:43 -04:00
Nicolas Giard a7d080b4df
ci: build app base docker image 2022-05-24 15:50:01 -04:00
Nicolas Giard 2b94db2161
ci: run tests on PRs with node + python dependencies changes 2022-05-17 00:17:17 -04:00
Robert Sparks cdd86b9d5e
ci: show makemigrations output (#3932)
* ci: show makemigrations output

* chore: remove unused releasetest settings
2022-05-03 20:54:25 -05:00
Nicolas Giard 3606dbef38
ci: fix makemigrations echo during pr checks + build 2022-05-03 18:31:50 -04:00
Nicolas Giard f778058005
ci: add db migrations checks to tests and build workflows (#3920)
* ci: add db migrations checks to tests and build workflows

* ci: refactor migrations check expression

* chore: rework conditional and exit

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-03 12:06:41 -05:00
Nicolas Giard 7c6917562f
ci: use strict semver for builds + always run pip install on tests 2022-04-21 16:57:29 -04:00
Nicolas Giard 72d1293f09
ci: only set production flags when create release is enabled 2022-04-15 17:41:14 -04:00
Nicolas Giard 2f78a56aed
ci: add production flags during release build 2022-04-15 17:26:42 -04:00
Nicolas Giard a29cf266f9
ci: notify of dry run in build annotations 2022-04-14 17:01:34 -04:00
Nicolas Giard 01ee23cce9
ci: upload build artifacts on dry run 2022-04-14 16:43:55 -04:00
Nicolas Giard 3099fe267b
ci: skip changelog generation when dry run flag is active 2022-04-14 16:37:51 -04:00
Nicolas Giard e00b0d126c
ci: remove incorrect dry run skip on release step 2022-04-14 16:32:35 -04:00
Nicolas Giard 2e330b1a5a
ci: add version number to build annotation 2022-04-14 16:27:39 -04:00
Nicolas Giard d842408f04
ci: update non-prod build base version number + dry-run option 2022-04-14 16:22:50 -04:00
Nicolas Giard 6ffda37cd8
ci: point workflows to main branch 2022-04-14 15:31:09 -04:00
Nicolas Giard 994e6c378a
ci: remove failfast tests flag 2022-04-14 13:17:13 -04:00
Nicolas Giard 1c107d2d98
ci: use npm install for coverage-action 2022-03-31 15:05:03 -04:00
NGPixel 8ef90059f5
ci: fix coverage-action outputs + gh token common 2022-03-31 03:26:49 -04:00
Nicolas Giard ea6c9316d4
ci: add coverage-action to release workflow 2022-03-31 02:15:49 -04:00
Nicolas Giard 7cc2e579c0
ci: add summary field to release workflow 2022-03-30 15:34:23 -04:00
Nicolas Giard 4dbb3345e9
ci: remove codacy + skip codecov on fail 2022-03-30 14:35:08 -04:00
Nicolas Giard 7917fa336a
ci: fix coverage xml for PR tests 2022-03-29 21:23:29 -04:00
Nicolas Giard 51ec004718
ci: always run codacy reporter 2022-03-29 20:46:18 -04:00
Nicolas Giard 11fe9f56b4
ci: output xml coverage report 2022-03-29 20:38:18 -04:00
Nicolas Giard 32d15efee6
ci: test codacy code coverage reporting 2022-03-29 19:38:39 -04:00
Jennifer Richards 7c6fa167f1
ci: remove bs3-related workflow; do not install grunt 2022-03-25 12:16:23 -03:00
Jennifer Richards c0c8771370
Merge branch 'main' into main-merge
# Conflicts:
#	.devcontainer/docker-compose.extend.yml
#	.github/workflows/build-test-base.yml
#	.github/workflows/build.yml
#	README.md
#	docker/app.Dockerfile
#	docker/configs/settings_local.py
#	docker/docker-compose.extend.yml
#	docker/scripts/app-init.sh
#	ietf/release/tests.py
#	ietf/release/urls.py
#	ietf/templates/500.html
#	ietf/templates/api/index.html
#	ietf/templates/base.html
#	ietf/templates/base/menu.html
#	ietf/templates/group/group_about_status_edit.html
#	ietf/templates/meeting/agenda_filter.html
#	ietf/templates/release/about.html
#	ietf/utils/tests.py
#	package-lock.json
2022-03-25 11:15:05 -03:00
Nicolas Giard 8989f2fd72
ci: add codecov upload to PR tests 2022-03-24 18:20:36 -04:00
Nicolas Giard 0821260cc3
ci: build workflow - rename cov results file 2022-03-24 16:40:44 -04:00
Nicolas Giard 32bf50ef1b
ci: build workflow - force coverage upload even on failed tests 2022-03-24 15:49:38 -04:00
Nicolas Giard e1c8b5efe4
ci: add codecov to tests 2022-03-24 15:45:37 -04:00
Nicolas Giard 5125fcc646
ci: fix tests prepare script exec permissions 2022-03-23 18:04:15 -04:00
Nicolas Giard 6863061396
ci: fix dev version number for build release 2022-03-23 15:54:14 -04:00
Nicolas Giard d489391b66
ci: fix build sed replace 2022-03-23 15:42:13 -04:00
Nicolas Giard ac39c017cf
ci: add env vars to build output 2022-03-23 15:38:59 -04:00
Nicolas Giard 259957f4b6
ci: skip download coverage when tests are disabled 2022-03-23 15:04:54 -04:00
Nicolas Giard e6aeb3187e
ci: fix build missing runs-on param 2022-03-23 15:01:54 -04:00
Nicolas Giard f8d7e45239
ci: build improvements + skip tests option 2022-03-23 14:59:56 -04:00
Nicolas Giard 8baeb85118
ci: add tests to publish build workflow 2022-03-23 00:30:44 -04:00
Nicolas Giard 457bb54db4
ci: fix pr tests run commands 2022-03-22 14:36:24 -04:00
Nicolas Giard 95611a44ac
ci: add test base dockerfile to build triggers 2022-03-22 13:46:57 -04:00
Nicolas Giard adc6331727
ci: inject release hash + branch during build 2022-03-21 14:45:10 -04:00
Nicolas Giard ffb6904b09
ci: inject release hash + branch during build 2022-03-21 14:44:58 -04:00
Nicolas Giard a4eaadde0a
ci: limit pr tests to ietf folder 2022-03-19 11:33:29 -04:00
Lars Eggert 05c643964b
ci: Run the test suite for PRs and pushes (#3658)
Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-03-19 07:09:15 -04:00
Nicolas Giard cee45d608b
ci: fix db docker image start command 2022-03-17 17:03:37 -04:00
Nicolas Giard 4b15ed933e
ci: fix base test docker image 2022-03-16 21:34:38 -04:00
Nicolas Giard 7ddaa513b1
ci: build base test docker image 2022-03-16 21:34:26 -04:00