Skip to content

Commit 46ed97a

Browse files
authored
Make Ruby rundoc tutorial (more) dynamic and add .NET (#63)
* Update Rundoc version * Simplify ruby RUNDOC.md * Re-write Ruby docs to be dynamic * Rename main markdown file * Use 5006 for port Same port as `heroku local` * Update rundoc filename * Update README now that Fir is announced * Add a explanation to the docs folder Includes information on how to build the docs. * Add links to tutorials from README * Re-order arguments It's prettier * Update to make slightly more dynamic We still can't extract the article into it's own section, but this makes some progress. * Remove "ruby" from shared docs * Update rundoc version * Add dotnet * Ignore ruby getting started guide instead of deleting * Update CI to add dotnet
1 parent ec79d38 commit 46ed97a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+4296
-524
lines changed

Diff for: .github/workflows/rundoc-ci.yml

+11-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ on:
66
jobs:
77
test-rundoc:
88
runs-on: ubuntu-latest
9+
env:
10+
BUNDLE_GEMFILE: .rundoc-workspace/Gemfile
11+
strategy:
12+
matrix:
13+
lang: ["ruby", "dotnet", "nodejs", "python", "php", "go", "java_maven", "java_gradle", "scala"]
14+
fail-fast: false
915
steps:
1016
- uses: actions/checkout@v4
1117
with:
@@ -15,9 +21,11 @@ jobs:
1521
with:
1622
ruby-version: "3.3"
1723
bundler-cache: true # do run 'bundle install' and cache
18-
working-directory: .rundoc-workspace
1924
- uses: buildpacks/github-actions/[email protected]
2025

2126
# [CONFIG] add different languages set up here
22-
- run: bundle exec rundoc ../docs/src/ruby/ruby_tutorial.md --on-success-dir ../docs/ruby --on-failure-dir ../docs/fail --force
23-
working-directory: .rundoc-workspace
27+
- run: |
28+
bundle exec rundoc docs/src/${{ matrix.lang }}/RUNDOC.md \
29+
--on-success-dir docs/${{ matrix.lang }} \
30+
--on-failure-dir docs/fail/${{ matrix.lang }} \
31+
--force

Diff for: .github/workflows/rundoc-pr.yml

+12-8
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ on:
88
jobs:
99
run-rundoc:
1010
runs-on: pub-hk-ubuntu-24.04-ip
11+
env:
12+
BUNDLE_GEMFILE: .rundoc-workspace/Gemfile
13+
strategy:
14+
matrix:
15+
lang: ["ruby", "dotnet", "nodejs", "python", "php", "go", "java_maven", "java_gradle", "scala"]
16+
fail-fast: false
1117
steps:
1218
- name: Get token for GH application (Linguist)
1319
uses: actions/create-github-app-token@v1
@@ -25,23 +31,21 @@ jobs:
2531
with:
2632
ruby-version: "3.3"
2733
bundler-cache: true # do run 'bundle install' and cache
28-
working-directory: .rundoc-workspace
2934
- uses: buildpacks/github-actions/[email protected]
3035

3136
# [CONFIG] add different languages set up here
32-
- run: bundle exec rundoc ../docs/src/ruby/ruby_tutorial.md --on-success-dir ../docs/ruby --on-failure-dir ../docs/fail --force
33-
working-directory: .rundoc-workspace
37+
- run: |
38+
bundle exec rundoc docs/src/${{ matrix.lang }}/RUNDOC.md \
39+
--on-success-dir docs/${{ matrix.lang }} \
40+
--on-failure-dir docs/fail/${{ matrix.lang }} \
41+
--force
3442
continue-on-error: true
35-
- run: rm -rf ruby-getting-started
36-
working-directory: docs/ruby
37-
continue-on-error: true
38-
3943
- name: Create Pull Request
4044
id: pr
4145
uses: peter-evans/create-pull-request@v7
4246
with:
4347
token: ${{ steps.generate-token.outputs.token }}
44-
branch: rundoc-update
48+
branch: rundoc-update-${{ matrix.lang }}
4549
delete-branch: true
4650
base: main
4751
commit-message: Update tutorials

Diff for: .rundoc-workspace/Gemfile.lock

+11-11
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ GEM
44
addressable (2.8.7)
55
public_suffix (>= 2.0.2, < 7.0)
66
aws-eventstream (1.3.0)
7-
aws-partitions (1.1014.0)
7+
aws-partitions (1.1022.0)
88
aws-sdk-core (3.214.0)
99
aws-eventstream (~> 1, >= 1.3.0)
1010
aws-partitions (~> 1, >= 1.992.0)
@@ -13,7 +13,7 @@ GEM
1313
aws-sdk-kms (1.96.0)
1414
aws-sdk-core (~> 3, >= 3.210.0)
1515
aws-sigv4 (~> 1.5)
16-
aws-sdk-s3 (1.174.0)
16+
aws-sdk-s3 (1.176.1)
1717
aws-sdk-core (~> 3, >= 3.210.0)
1818
aws-sdk-kms (~> 1)
1919
aws-sigv4 (~> 1.5)
@@ -29,22 +29,22 @@ GEM
2929
rack-test (>= 0.6.3)
3030
regexp_parser (>= 1.5, < 3.0)
3131
xpath (~> 3.2)
32-
dotenv (3.1.4)
32+
dotenv (3.1.6)
3333
jmespath (1.6.2)
34-
logger (1.6.1)
34+
logger (1.6.3)
3535
matrix (0.4.2)
3636
mini_mime (1.1.5)
37-
nokogiri (1.16.7-aarch64-linux)
37+
nokogiri (1.17.2-aarch64-linux)
3838
racc (~> 1.4)
39-
nokogiri (1.16.7-arm-linux)
39+
nokogiri (1.17.2-arm-linux)
4040
racc (~> 1.4)
41-
nokogiri (1.16.7-arm64-darwin)
41+
nokogiri (1.17.2-arm64-darwin)
4242
racc (~> 1.4)
43-
nokogiri (1.16.7-x86-linux)
43+
nokogiri (1.17.2-x86-linux)
4444
racc (~> 1.4)
45-
nokogiri (1.16.7-x86_64-darwin)
45+
nokogiri (1.17.2-x86_64-darwin)
4646
racc (~> 1.4)
47-
nokogiri (1.16.7-x86_64-linux)
47+
nokogiri (1.17.2-x86_64-linux)
4848
racc (~> 1.4)
4949
parslet (2.0.0)
5050
public_suffix (6.0.1)
@@ -55,7 +55,7 @@ GEM
5555
regexp_parser (2.9.3)
5656
rexml (3.3.9)
5757
rubyzip (2.3.2)
58-
rundoc (4.0.0)
58+
rundoc (4.1.1)
5959
aws-sdk-s3 (~> 1)
6060
base64 (~> 0)
6161
capybara (~> 3)

Diff for: README.md

+17-8
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,22 @@
33
<img alt="Heroku Cloud Native Buildpacks Logo" src="./logo.png" width="100%">
44
</p>
55

6-
Create a production-ready container image for your application with a [single command](TUTORIAL.md); no Dockerfile required. [Try Heroku Cloud Native Buildpacks today](TUTORIAL.md).
6+
Create a production-ready container image for your application with a single command; no Dockerfile required. Try Heroku Cloud Native Buildpacks today with one of the local language-specific tutorials:
7+
8+
- [.NET](docs/dotnet/README.md)
9+
- [Go](docs/go/README.md)
10+
- [Java (Gradle)](docs/java_gradle/README.md)
11+
- [Java (Maven)](docs/java_maven/README.md)
12+
- [Node.JS](docs/nodejs/README.md)
13+
- [PHP](docs/php/README.md)
14+
- [Python](docs/python/README.md)
15+
- [Ruby](docs/ruby/README.md)
16+
- [Scala](docs/scala/README.md)
717

818
> [!IMPORTANT]
9-
> The Heroku Cloud Native Buildpacks program is an open-source preview, and is
10-
not currently available for use on the Heroku platform. If you are looking for
11-
information or help with Heroku Cedar Buildpacks on the Heroku platform, you
12-
may find more information [here](https://devcenter.heroku.com/articles/buildpacks).
19+
> The Heroku Cloud Native Buildpacks are available for use on [Heroku Fir](https://devcenter.heroku.com/articles/generations#fir) generation. If you are looking for
20+
> information or help with Heroku Cedar generation [Classic Buildpacks](https://devcenter.heroku.com/articles/buildpacks#classic-buildpacks) on the Heroku platform, you
21+
> may find more information [on the Dev Center](https://devcenter.heroku.com/articles/buildpacks).
1322
1423
## What is a Cloud Native Buildpack?
1524

@@ -19,7 +28,7 @@ Cloud Native Buildpacks (CNBs) are an [open specification for building and runni
1928

2029
### Philosophy
2130

22-
Heroku CNBs are written with the app developer in mind. We want it to be as easy and simple as possible to transform an app into an OCI image. While a Dockerfile is procedural, CNBs are declarative. Give us your application, and we'll give you an image that can run it. Don't believe us? [Try it out today](TUTORIAL.md).
31+
Heroku CNBs are written with the app developer in mind. We want it to be as easy and simple as possible to transform an app into an OCI image. While a Dockerfile is procedural, CNBs are declarative. Give us your application, and we'll give you an image that can run it. Don't believe us? [Try it out today](docs/README.md).
2332

2433
We believe:
2534
- Building OCI images shouldn't be a pain.
@@ -59,7 +68,7 @@ To run our buildpack locally, we will use `pack`, a tool maintained by the Cloud
5968
### Create the app image
6069

6170
> [!NOTE]
62-
> For a full hands-on getting started experience [follow our getting started tutorial](TUTORIAL.md).
71+
> For a full hands-on getting started experience [follow our getting started tutorials](docs/README.md).
6372
6473
First, we need an application to produce an image. We will use [Heroku's getting started app for Node.js](https://github.com/heroku/node-js-getting-started), but any other app that uses a supported ecosystem will work. Clone the application:
6574

@@ -73,7 +82,7 @@ In your application directory, run the `pack build` command. No additional steps
7382
$ pack build my-app-image --builder heroku/builder:24 --path node-js-getting-started
7483
```
7584

76-
Once the image is built, you can run it with the tools you're already comfortable with, like the `docker` CLI, for a demonstration of how [read out getting started tutorial](TUTORIAL.md).
85+
Once the image is built, you can run it with the tools you're already comfortable with, like the `docker` CLI, for a demonstration of how [read out getting started tutorials](docs/README.md).
7786

7887
## Discussions
7988

0 commit comments

Comments
 (0)