Skip to content

Commit 04094ff

Browse files
committed
Don't waste time installing packages that are already present
GitHub updated their `ubuntu-latest` and it now has all the packaages we want except for `gyp`. So in most cases we can get away with installing nothing. Saves 8-10 seconds per builds.
1 parent bfa4480 commit 04094ff

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

railties/lib/rails/generators/app_base.rb

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -618,11 +618,16 @@ def dockerfile_build_packages
618618
end
619619

620620
def ci_packages
621-
if depends_on_system_test?
622-
dockerfile_build_packages << "google-chrome-stable"
623-
else
624-
dockerfile_build_packages
625-
end
621+
dockerfile_build_packages - [
622+
# GitHub Actions doesn't have build-essential,
623+
# but it's a meta-packages and all its dependencies are already installed.
624+
"build-essential",
625+
"git",
626+
"pkg-config",
627+
"libyaml-dev",
628+
"unzip",
629+
"python-is-python3",
630+
]
626631
end
627632

628633
def css_gemfile_entry

railties/lib/rails/generators/rails/app/templates/github/ci.yml.tt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,11 @@ jobs:
102102

103103
<%- end -%>
104104
steps:
105+
<%- unless ci_packages.empty? -%>
105106
- name: Install packages
106107
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y <%= ci_packages.join(" ") %>
107108

109+
<%- end -%>
108110
- name: Checkout code
109111
uses: actions/checkout@v4
110112

railties/lib/rails/generators/rails/plugin/templates/github/ci.yml.tt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,6 @@ jobs:
6363

6464
<%- end -%>
6565
steps:
66-
- name: Install packages
67-
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y <%= ci_packages.join(" ") %>
68-
6966
- name: Checkout code
7067
uses: actions/checkout@v4
7168

0 commit comments

Comments
 (0)