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

Allow user to pass in a custom actions-runner directory #56

Merged
merged 4 commits into from
Aug 27, 2021

Conversation

jpalomaki
Copy link
Contributor

@jpalomaki jpalomaki commented Jul 28, 2021

This directory would contain pre-installed runner software and scripts (baked in AMI), so those need not be downloaded on startup.

Should be backwards-compatible as the new input is optional and defaults to empty (or undefined).

Possibly fixes #38

@jpalomaki
Copy link
Contributor Author

@machulav Do you have automated tests to test this with?

@machulav
Copy link
Owner

@jpalomaki WOW, thank you a lot for your contributions! I will have a look at your PRs (this and #57) in the next few days and back to you! Ah, and welcome! :)

Do you have automated tests to test this with?

Unfortunately, the autotests are not implemented yet. I will test it in my test environment and let you know.

src/aws.js Outdated Show resolved Hide resolved
src/aws.js Outdated Show resolved Hide resolved
@jpalomaki jpalomaki marked this pull request as ready for review August 18, 2021 05:20
@jpalomaki jpalomaki marked this pull request as draft August 27, 2021 20:43
@machulav
Copy link
Owner

machulav commented Aug 27, 2021

@jpalomaki I'm sorry for the late response. I've just tested your changes on my test environment, and it works! The code also looks good.

Still, may I ask you to fix the linter error? Then I will be able to merge it.

/home/runner/work/ec2-github-runner/ec2-github-runner/src/aws.js
10
  8:20  error  'buildUserDataScript' was used before it was defined  no-use-before-define

@jpalomaki
Copy link
Contributor Author

@jpalomaki I'm sorry for the late response. I've just tested your changes on my test environment, and it works! The code also looks good.

Still, may I ask you to fix the linter error? Then I will be able to merge it.

/home/runner/work/ec2-github-runner/ec2-github-runner/src/aws.js
10
  8:20  error  'buildUserDataScript' was used before it was defined  no-use-before-define

Done

@jpalomaki jpalomaki marked this pull request as ready for review August 27, 2021 21:02
@machulav machulav merged commit 17e4c97 into machulav:main Aug 27, 2021
@machulav
Copy link
Owner

machulav commented Aug 27, 2021

@jpalomaki Thank you a lot for your contribution! 🙏

@machulav machulav added enhancement New feature or request documentation Improvements or additions to documentation labels Aug 27, 2021
@jpalomaki jpalomaki deleted the custom-runner-home-dir branch October 14, 2021 20:40
johnsonrw82 pushed a commit to physion/ec2-github-runner that referenced this pull request Oct 27, 2022
* Use the paginate API call to get all runners instead of just the first page. (machulav#51)

* Update dist

* Bump glob-parent from 5.1.1 to 5.1.2 (machulav#47)

Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](gulpjs/glob-parent@v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix PR automation, update the action version in the example (machulav#54)

* Update tag in the example

* Remove package from the PR automations

* Allow user to pass in a custom actions-runner directory (machulav#56)

* Allow user to pass in a custom actions-runner directory which contains pre-installed runner software and scripts

* Add comment

* Fix input refs

* Fix linter error

* Update dist

* Update the runner version to the latest one (machulav#67)

* Update dist

* fix: `invalid culture identifier` (machulav#88)

* remove `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT`

* build index.js

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* Version updates (machulav#92)

* Update runner version

* Update package-lock.json

* Update dist

* Add link for donation to help Ukraine protect itself from russian occupants

* Update donation URL

* Update wordings

* Bump @actions/core from 1.6.0 to 1.9.1 (machulav#109)

Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dist

* Bump node-fetch from 2.6.6 to 2.6.7 (machulav#105)

Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](node-fetch/node-fetch@v2.6.6...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dist

* bump to node16 in action.yml

* lint error

* update dist file

* Revert "update dist file"

This reverts commit fa73d35.

* use buildUserDataScript and remove trailing comma

Signed-off-by: Alex Chi <iskyzh@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: GitHub Actions <runner@fv-az93-126.zwmoqlwq51iuvls2zdlc0jzybe.xx.internal.cloudapp.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Volodymyr Machula <machulav@gmail.com>
Co-authored-by: Jukka Palomäki <jukka.palomaki@paf.com>
Co-authored-by: GitHub Actions <runner@fv-az90-268.oknmvzgco44exlvyi5fejcivhg.gx.internal.cloudapp.net>
Co-authored-by: Alex Chi <iskyzh@gmail.com>
Co-authored-by: GitHub Actions <runner@fv-az238-896.lrtv1j1tcsgurjp4mtmc3vvjre.gx.internal.cloudapp.net>
Co-authored-by: GitHub Actions <runner@fv-az335-98.st3fsr2bvbpu5iwsufzt3hrohh.gx.internal.cloudapp.net>
Co-authored-by: GitHub Actions <runner@fv-az502-646.yzlryxntam3u3auahceqrxiktg.dx.internal.cloudapp.net>
johnsonrw82 added a commit to physion/ec2-github-runner that referenced this pull request Dec 7, 2023
* Use the paginate API call to get all runners instead of just the first page. (machulav#51)

* Update dist

* Bump glob-parent from 5.1.1 to 5.1.2 (machulav#47)

Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](gulpjs/glob-parent@v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix PR automation, update the action version in the example (machulav#54)

* Update tag in the example

* Remove package from the PR automations

* Allow user to pass in a custom actions-runner directory (machulav#56)

* Allow user to pass in a custom actions-runner directory which contains pre-installed runner software and scripts

* Add comment

* Fix input refs

* Fix linter error

* Update dist

* Update the runner version to the latest one (machulav#67)

* Update dist

* fix: `invalid culture identifier` (machulav#88)

* remove `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT`

* build index.js

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* Version updates (machulav#92)

* Update runner version

* Update package-lock.json

* Update dist

* Add link for donation to help Ukraine protect itself from russian occupants

* Update donation URL

* Update wordings

* Bump @actions/core from 1.6.0 to 1.9.1 (machulav#109)

Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dist

* Bump node-fetch from 2.6.6 to 2.6.7 (machulav#105)

Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](node-fetch/node-fetch@v2.6.6...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dist

* Fix deprecation warnings (machulav#123)

* Update node version

* Update version of packages

* Update version of runner

* Update version of actions

* Update dist

* Add required package to the documentation

* Add 'pre-runner-script' option (machulav#154)

Add a 'pre-runner-script' option to specify arbitrary bash commands to run
before the runner starts up on the instance.  This is useful if you need
to install dependencies or have OS-specific setup steps.  For example:

      - name: Start EC2 runner
        with:
	 mode: start
	 ec2-image-id: ami-07bdb09c49774f92e
	 pre-runner-script: |
	      sudo yum update -y && \
	      sudo yum install docker git libicu -y \
	      sudo systemctl enable docker

Signed-off-by: Tony Hutter <hutter2@llnl.gov>

* Compile dist

* Removing dist

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: GitHub Actions <runner@fv-az93-126.zwmoqlwq51iuvls2zdlc0jzybe.xx.internal.cloudapp.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Volodymyr Machula <machulav@gmail.com>
Co-authored-by: Jukka Palomäki <jukka.palomaki@paf.com>
Co-authored-by: GitHub Actions <runner@fv-az90-268.oknmvzgco44exlvyi5fejcivhg.gx.internal.cloudapp.net>
Co-authored-by: Alex Chi <iskyzh@gmail.com>
Co-authored-by: GitHub Actions <runner@fv-az238-896.lrtv1j1tcsgurjp4mtmc3vvjre.gx.internal.cloudapp.net>
Co-authored-by: GitHub Actions <runner@fv-az335-98.st3fsr2bvbpu5iwsufzt3hrohh.gx.internal.cloudapp.net>
Co-authored-by: GitHub Actions <runner@fv-az502-646.yzlryxntam3u3auahceqrxiktg.dx.internal.cloudapp.net>
Co-authored-by: Tony Hutter <hutter2@llnl.gov>
johnsonrw82 added a commit to physion/ec2-github-runner that referenced this pull request Dec 7, 2023
* Use the paginate API call to get all runners instead of just the first page. (machulav#51)

* Update dist

* Bump glob-parent from 5.1.1 to 5.1.2 (machulav#47)

Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases)
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)
- [Commits](gulpjs/glob-parent@v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: glob-parent
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix PR automation, update the action version in the example (machulav#54)

* Update tag in the example

* Remove package from the PR automations

* Allow user to pass in a custom actions-runner directory (machulav#56)

* Allow user to pass in a custom actions-runner directory which contains pre-installed runner software and scripts

* Add comment

* Fix input refs

* Fix linter error

* Update dist

* Update the runner version to the latest one (machulav#67)

* Update dist

* fix: `invalid culture identifier` (machulav#88)

* remove `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT`

* build index.js

Signed-off-by: Alex Chi <iskyzh@gmail.com>

* Version updates (machulav#92)

* Update runner version

* Update package-lock.json

* Update dist

* Add link for donation to help Ukraine protect itself from russian occupants

* Update donation URL

* Update wordings

* Bump @actions/core from 1.6.0 to 1.9.1 (machulav#109)

Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dist

* Bump node-fetch from 2.6.6 to 2.6.7 (machulav#105)

Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7.
- [Release notes](https://github.com/node-fetch/node-fetch/releases)
- [Commits](node-fetch/node-fetch@v2.6.6...v2.6.7)

---
updated-dependencies:
- dependency-name: node-fetch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update dist

* Fix deprecation warnings (machulav#123)

* Update node version

* Update version of packages

* Update version of runner

* Update version of actions

* Update dist

* Add required package to the documentation

* Add 'pre-runner-script' option (machulav#154)

Add a 'pre-runner-script' option to specify arbitrary bash commands to run
before the runner starts up on the instance.  This is useful if you need
to install dependencies or have OS-specific setup steps.  For example:

      - name: Start EC2 runner
        with:
	 mode: start
	 ec2-image-id: ami-07bdb09c49774f92e
	 pre-runner-script: |
	      sudo yum update -y && \
	      sudo yum install docker git libicu -y \
	      sudo systemctl enable docker

Signed-off-by: Tony Hutter <hutter2@llnl.gov>

* Compile dist

* Removing dist

* Add back dist

---------

Signed-off-by: Alex Chi <iskyzh@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Co-authored-by: Davin Chia <davinchia@gmail.com>
Co-authored-by: GitHub Actions <runner@fv-az93-126.zwmoqlwq51iuvls2zdlc0jzybe.xx.internal.cloudapp.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Volodymyr Machula <machulav@gmail.com>
Co-authored-by: Jukka Palomäki <jukka.palomaki@paf.com>
Co-authored-by: GitHub Actions <runner@fv-az90-268.oknmvzgco44exlvyi5fejcivhg.gx.internal.cloudapp.net>
Co-authored-by: Alex Chi <iskyzh@gmail.com>
Co-authored-by: GitHub Actions <runner@fv-az238-896.lrtv1j1tcsgurjp4mtmc3vvjre.gx.internal.cloudapp.net>
Co-authored-by: GitHub Actions <runner@fv-az335-98.st3fsr2bvbpu5iwsufzt3hrohh.gx.internal.cloudapp.net>
Co-authored-by: GitHub Actions <runner@fv-az502-646.yzlryxntam3u3auahceqrxiktg.dx.internal.cloudapp.net>
Co-authored-by: Tony Hutter <hutter2@llnl.gov>
mmoriani pushed a commit to ottimis/ec2-github-runner that referenced this pull request Feb 15, 2024
* Allow user to pass in a custom actions-runner directory which contains pre-installed runner software and scripts

* Add comment

* Fix input refs

* Fix linter error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use pre-installed GitHub runner on the AMI
3 participants