Skip to content

Conversation

@WonyoungChoi
Copy link

@WonyoungChoi WonyoungChoi commented Sep 9, 2021

This PR is to add github actions workflows for building the engine source and running unit-tests.

Build workflow is :

  • using GitHub's hosted runner.
  • using actions/cache for incremental build, the cache size for each job is about 140~200MB.
  • using strategy matrix to create multiple jobs in building task.
  • using the docker image build-engine.

Check Symbols workflow :

  • checks symbols of the build artifacts with the allowlist.
  • is triggered by workflow_run event. (for security reason)

tasks

  • Build engines for each target [arm-debug, arm-profile, arm-release, arm64-debug, arm64-profile, arm64-release, x86-debug]
  • Run unit tests
  • Verify symbol references.
  • Publish artifacts.

@WonyoungChoi WonyoungChoi marked this pull request as draft September 9, 2021 05:34
@WonyoungChoi WonyoungChoi force-pushed the add-workflows branch 2 times, most recently from 0f616b3 to 74c9de0 Compare September 9, 2021 05:42
@WonyoungChoi WonyoungChoi force-pushed the add-workflows branch 4 times, most recently from 2a9582b to 8d56c8e Compare September 9, 2021 10:43
@WonyoungChoi WonyoungChoi force-pushed the add-workflows branch 12 times, most recently from 0d4a392 to 69ade83 Compare September 23, 2021 09:54
@WonyoungChoi WonyoungChoi marked this pull request as ready for review September 27, 2021 09:52
Comment on lines 11 to 14
pending:
if: |
github.event.action == 'requested' &&
github.event.workflow_run.event == 'pull_request'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this job?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a job to display the "Check Symbols" checker status as below when build starts.
image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. But, why? Those three steps add extra complexity to the workflow file and the information doesn't seem very useful. Won't check-symbol.py exit with non-zero exit code if anything goes wrong?

Also, how does separating the Check Symbols workflow from the Build workflow improve security? Is it different from adding a job that depends on the build job in the Build workflow?

Copy link
Author

@WonyoungChoi WonyoungChoi Sep 29, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I agree, pending job is not necessary. But without this job, the "Check Symbol" checker will be shown in the PR status only after the build is over.
  2. To check the symbol, the workflow have to access the allowlist in private repo with the secret `TIZENAPI_TOKEN'. However, for security reasons, these secret keys are not accessible in the forked pull request event workflows.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But without this job, the "Check Symbol" checker will be shown in the PR status only after the build is over.

That's okay. I don't see any problem with it.

However, for security reasons, these secret keys are not accessible in the forked pull request event workflows.

Okay. Now I understand that it's one of GitHub's limitations. I have a slightly different idea but I'll talk to you offline later.

@swift-kim swift-kim merged commit f347a87 into flutter-tizen:flutter-2.2.1-tizen Oct 1, 2021
swift-kim pushed a commit that referenced this pull request Oct 1, 2021
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Nov 14, 2021
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Dec 9, 2021
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Dec 17, 2021
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Feb 7, 2022
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Feb 11, 2022
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request May 12, 2022
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Aug 5, 2022
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
swift-kim pushed a commit that referenced this pull request Sep 1, 2022
* [workflows] Add workflow jobs for buliding and testing

* [workflow] Add a workflow to check symbols of artifacts

* [workflow] remove format checking step

* [workflow] remove unnecessary id definition

* Remove libflutter_engine.so from host-x64-debug artifact

* Use WonyoungChoi/workflow-run-status-action@v1 to simplify check-symbol workflow

* Remove committing pending status from check-symbol worklfow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants