Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Host E2E Tests #4201

Open
wants to merge 74 commits into
base: main
Choose a base branch
from
Open

Conversation

aishwaryabh
Copy link
Contributor

@aishwaryabh aishwaryabh commented Nov 25, 2024

Issue describing the changes in this PR

resolves #3869

This PR adds E2E tests for the consolidation pipeline for the custom host. To test this out, I created two inproc 6 and inproc8 azure functions projects and I run the minified windows custom host's func.exe on starting the respective projects.

Pull request checklist

  • My changes do not require documentation changes
    • Otherwise: Documentation issue linked to PR
  • My changes do not need to be backported to a previous version
    • Otherwise: Backport tracked by issue/PR #issue_or_pr
  • I have added all required tests (Unit tests, E2E tests)

aishwaryabh and others added 30 commits November 6, 2024 11:36
* this doesn't work

* this finally works now

* default should be oop host

* added edge cases

* fixing formatting

* using determineTargetFramework

* saving tests

* adding copy step for OOP

* fixing the webhost reference

* removing test

* setting host version in ps script

* update to validate worker versions script

* update versions for worker packages

* adding ToString

* validating worker version

* validate worker versions

* updating csproj to compile

* addressing pr feedback

* updating build steps

* adding build step

* fixing build step

* trying to get this working

* reverrting target runtimes

* updating tests

* adding dotnet info step

* adding changes

* removing extra test

* trying to specify architecture

* modifying tests to see if they work

* narrowing down to tests that are failing

* trying to see if it works with nobuild flag

* addressing pr feedback

* updating tests with latest logging

* addressing comments and marking flaky tests

* updating so that we are only using net8 framework

* pushing change for branch build

* adding single quotes

* reverting quotes

* adding code mirror fiile

* updating build step

* updatinng build steps

* updating build step

* adding step for dotnet publish

* set inprochost compilation system to diff value and skip flaky test

* updating public build pipeline to trigger

* adding extra changes for pipeline

* public build yml

* updating official build

* readd net8 build artifact step

* readding space back

* addressing initial comments

* adding explicit openTelemetry dlls

* simplifying logic of startHostAction

* addressing PR feedback

* start tests

* changing some of the tests back

* reverting test back to normal

* fixing spacing for csproj

* addressing PR feedback

* adding extra variable

* adding logic for edge case scenarios

* added edge cases tests

* removing extra line in node

* addressing comments

* moving validate host runtime to its own method

* forgot to add return statement
* this doesn't work

* this finally works now

* default should be oop host

* added edge cases

* fixing formatting

* using determineTargetFramework

* saving tests

* adding copy step for OOP

* fixing the webhost reference

* removing test

* setting host version in ps script

* update to validate worker versions script

* update versions for worker packages

* adding ToString

* validating worker version

* validate worker versions

* updating csproj to compile

* addressing pr feedback

* updating build steps

* adding build step

* fixing build step

* trying to get this working

* reverrting target runtimes

* updating tests

* adding dotnet info step

* adding changes

* removing extra test

* trying to specify architecture

* modifying tests to see if they work

* narrowing down to tests that are failing

* trying to see if it works with nobuild flag

* addressing pr feedback

* updating tests with latest logging

* addressing comments and marking flaky tests

* updating so that we are only using net8 framework

* pushing change for branch build

* adding single quotes

* reverting quotes

* adding code mirror fiile

* updating build step

* updatinng build steps

* updating build step

* adding step for dotnet publish

* set inprochost compilation system to diff value and skip flaky test

* updating public build pipeline to trigger

* adding extra changes for pipeline

* public build yml

* updating official build

* readd net8 build artifact step

* readding space back

* addressing initial comments

* adding explicit openTelemetry dlls

* simplifying logic of startHostAction

* addressing PR feedback

* start tests

* changing some of the tests back

* reverting test back to normal

* fixing spacing for csproj

* addressing PR feedback

* adding extra variable

* adding logic for edge case scenarios

* added edge cases tests

* initial changes

* removing extra line in node

* removing files not needed for custom host

* adding build steps

* addressing comments

* moving validate host runtime to its own method

* forgot to add return statement

* trying out creating directory

* remove skip artifact gen

* updating build step

* updating build to include in official pipeline

* updating publishing custom host step

* code mirror

* trying to get official build working

* program cs update

* updating custom host to work with parsing local.settings.json

* console read line for stalling process

* removing changes not needed for custom host

* only including inproc6 and inproc8 changes

* addressing initial comments

* removing skip artifact gen flag

* verbose logging

* tryna add release pipeline

* windows yaml changes

* addressing comments about yml

* updating log message

* fixing spacing

* fixing spacing again

* trying spacing again

* spacing change

* tryan fix spacing this way

* spacing

* spacing

* new line

* regular indentation

* super indent

* changing spacing back to normal

* addressing comments

* fixing pipeline
* build steps

* trying to parallelize build steps

* Revert "build steps"

This reverts commit 9aa82fa.

* Reapply "build steps"

This reverts commit a7b7d46.

* Revert "trying to parallelize build steps"

This reverts commit d10ef5c.
…roduce the package (#3843)

* Adding artifact assembler program which collects artifacts from different sources and assemble the final package for core tools.

* Adding README

* Remove downloaded artifact directories. Minor language update to README
* assemble artifacts

* adding code mirror to test

* try awaiting tasks to save space

* removing --net8 dependency

* trying to delete directory one at a time

* trying again with extracting

* diff build steps for vs and cli

* forgot to include other step for var

* trying out new changes

* clean up each zip file after extracting

* trying another approach

* try to delete each directory after copying

* removing logic for creating zips rn

* including e2e test changes and add powershell file

* removing multi targeting

* pass in staging directory

* adding param

* adding logging

* printing out paths

* adding isolated e2e tests and changing verbosity for logger

* adding a new label

* comments

* adding more clarifying comments

* removing extra test and types

* adding logging statement for failing task if we fail tests

* updating tests to only run in winx64 and winx86

* target directory

* target directory

* changes to msi file

* print out directory

* resolving path

* reorg files and try to set env variable

* dont delete artifacts

* update generate msi files

* add doller sign for variable name and fix e2e test

* changing runtime version

* updating to get correct cli version

* lol forgot to have content in zip ps script

* Update src/Azure.Functions.ArtifactAssembler/ArtifactAssembler.cs

Co-authored-by: Lilian Kasem <liliankasem@gmail.com>

* Update src/Azure.Functions.ArtifactAssembler/ArtifactAssembler.cs

Co-authored-by: Lilian Kasem <liliankasem@gmail.com>

* Update src/Azure.Functions.ArtifactAssembler/ArtifactAssembler.cs

Co-authored-by: Lilian Kasem <liliankasem@gmail.com>

* Update src/Azure.Functions.ArtifactAssembler/ArtifactAssembler.cs

Co-authored-by: Lilian Kasem <liliankasem@gmail.com>

* Update src/Azure.Functions.ArtifactAssembler/ArtifactAssembler.cs

Co-authored-by: Lilian Kasem <liliankasem@gmail.com>

* addressing comments

* reverting programcs back to the way it was

* staging directory not correct

* merging

* Revert "merging"

This reverts commit 89cc110.

* fixing spacing

* wrong directory

* trying to free up disk space

* removing custom code mirror

* removing dollar signs

* updating build number

* adding variables back

* fix build number

* fixing candle

* fixing msi files

* reverting files back to normal

---------

Co-authored-by: Lilian Kasem <liliankasem@gmail.com>
* adding system.text.json

* update patch

* move to 8.0.10

* fixing indentation

* trying to change version
…ine (#3884)

* adding generate metadata file

* remove code mirror

* get correct inproc version

* print out metadata file

* fixing zip issue

* fixing release number

* fixing release number again

* removing zip artifact script and fixing code mirror
@aishwaryabh aishwaryabh changed the base branch from feature/oop-host to main November 26, 2024 20:03
@aishwaryabh aishwaryabh changed the base branch from main to feature/oop-host November 26, 2024 20:04
@aishwaryabh aishwaryabh changed the base branch from feature/oop-host to main November 26, 2024 20:06
@@ -1385,7 +1455,6 @@ await CliTester.Run(new RunConfiguration[]
$"start --port {_funcHostPort}"
},
ExpectExit = true,
ExitInError = true,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

exitInError does not work when we have to assert the exit error, so I removed this since it was not relevant anymore

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.

6 participants