Merge pull request #31 from actions/JenniferKerns-patch-16

edits to custom transformers lab
This commit is contained in:
Ethan Dennis
2022-11-07 11:12:20 -08:00
committed by GitHub
+6 -6
View File
@@ -1,6 +1,6 @@
# Using custom transformers to customize GitHub Actions Importer's behavior
In this lab you will build upon the `dry-run` command to override GitHub Actions Importer's default behavior and customize the converted workflow using "custom transformers". Custom transformers can be used to:
In this lab you will build upon the `dry-run` command to override GitHub Actions Importer's default behavior and customize the converted workflow using "custom transformers." Custom transformers can be used to:
1. Convert items that are not automatically converted.
2. Convert items that were automatically converted using different actions.
@@ -81,7 +81,7 @@ The converted workflow above contains an `codedeploy` step that was not automati
- __codedeploy__
2. What is the desired Actions syntax to use instead?
- After some research, you have determined that we can login to AWS with the `aws-actions/configure-aws-credentials@v1` action, and deploy the app to AWS using a run step to replace the functionality of `codedeploy`:
- After some research, you have determined that you can log in to AWS with the `aws-actions/configure-aws-credentials@v1` action, and deploy the app to AWS using a run step to replace the functionality of `codedeploy`:
```yaml
- uses: aws-actions/configure-aws-credentials@v1
@@ -121,7 +121,7 @@ transform "codedeploy" do |_item|
end
```
This method can use any valid ruby syntax and should return a `Hash`, or an array of `Hashes` that represent the YAML that should be generated for a given step. GitHub Actions Importer will use this method to convert a step with the provided identifier and will use the `item` parameter for the original values configured in Travis CI.
This method can use any valid Ruby syntax and should return a `Hash`, or an array of `Hashes` that represent the YAML that should be generated for a given step. GitHub Actions Importer will use this method to convert a step with the provided identifier and will use the `item` parameter for the original values configured in Travis CI.
Now you can perform another `dry-run` command and use the `--custom-transformers` CLI option to provide this custom transformer. Run the following command within your codespace terminal:
@@ -153,7 +153,7 @@ The converted workflow that is generated by the above command will now use the c
+ aws deploy create-deployment --application-name MyApp --deployment-group-name MyDeploymentGroup --github-location repository=$GITHUB_REPOSITORY,commitId=$commit_hash --ignore-application-stop-failures
```
_Note_: We hard coded certain values such as the `application-name`, but we can apply these properties programmatically as well by using the item passed into the transform method. If you were unsure what the data structure of `item` was, you could use the following code in the custom transformer to print `item` to the console:
_Note_: Certain values such as the `application-name` are hard-coded, but you can apply these properties programmatically as well by using the item passed into the transform method. If you were unsure what the data structure of `item` was, you could use the following code in the custom transformer to print `item` to the console:
```ruby
transform "codecov_codecov_upload" do |item|
@@ -197,7 +197,7 @@ With these questions answered, you can add the following code to the `transforme
runner "linux", ["new-runner", "self-hosted"]
```
In this example, the first parameter to the `runner` method is the Azure DevOps label and the second is the Actions runner labels.
In this example, the first parameter to the `runner` method is the Travis CI label and the second is the GitHub Actions runner labels.
Now you can perform another `dry-run` command with the `--custom-transformers` CLI option. When you open the converted workflow, the `runs-on` statement will use the customized runner labels:
@@ -237,7 +237,7 @@ runner "linux", ["new-runner", "self-hosted"]
</details>
That's it! Congratulations, you have overridden GitHub Actions Importer's default behavior by customizing the conversion of:
That's it. Congratulations, you have overridden GitHub Actions Importer's default behavior by customizing the conversion of:
- Unknown steps
- Environment variables