From f87cbac7194400211196e640ccd909dacc04f076 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Mon, 23 Sep 2024 12:24:31 -0700 Subject: [PATCH 01/26] First commit for NewHelp --- help/.gitignore | 5 + help/404.html | 25 +++ help/Gemfile | 33 ++++ help/Gemfile.lock | 182 ++++++++++++++++++ help/_config.yml | 55 ++++++ .../2024-09-23-welcome-to-jekyll.markdown | 29 +++ help/about.markdown | 18 ++ help/index.markdown | 6 + help/robots.txt | 3 + 9 files changed, 356 insertions(+) create mode 100644 help/.gitignore create mode 100644 help/404.html create mode 100644 help/Gemfile create mode 100644 help/Gemfile.lock create mode 100644 help/_config.yml create mode 100644 help/_posts/2024-09-23-welcome-to-jekyll.markdown create mode 100644 help/about.markdown create mode 100644 help/index.markdown create mode 100644 help/robots.txt diff --git a/help/.gitignore b/help/.gitignore new file mode 100644 index 000000000000..f40fbd8ba564 --- /dev/null +++ b/help/.gitignore @@ -0,0 +1,5 @@ +_site +.sass-cache +.jekyll-cache +.jekyll-metadata +vendor diff --git a/help/404.html b/help/404.html new file mode 100644 index 000000000000..086a5c9ea988 --- /dev/null +++ b/help/404.html @@ -0,0 +1,25 @@ +--- +permalink: /404.html +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/help/Gemfile b/help/Gemfile new file mode 100644 index 000000000000..2c345b82ae4d --- /dev/null +++ b/help/Gemfile @@ -0,0 +1,33 @@ +source "https://rubygems.org" +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 4.3.4" +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.5" +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.12" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +platforms :mingw, :x64_mingw, :mswin, :jruby do + gem "tzinfo", ">= 1", "< 3" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin] + +# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem +# do not have a Java counterpart. +gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] diff --git a/help/Gemfile.lock b/help/Gemfile.lock new file mode 100644 index 000000000000..77ac51524535 --- /dev/null +++ b/help/Gemfile.lock @@ -0,0 +1,182 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + bigdecimal (3.1.8) + colorator (1.1.0) + concurrent-ruby (1.3.4) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7) + ffi (1.17.0) + ffi (1.17.0-aarch64-linux-gnu) + ffi (1.17.0-aarch64-linux-musl) + ffi (1.17.0-arm-linux-gnu) + ffi (1.17.0-arm-linux-musl) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86-linux-gnu) + ffi (1.17.0-x86-linux-musl) + ffi (1.17.0-x86_64-darwin) + ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.0-x86_64-linux-musl) + forwardable-extended (2.6.0) + google-protobuf (4.28.2) + bigdecimal + rake (>= 13) + google-protobuf (4.28.2-aarch64-linux) + bigdecimal + rake (>= 13) + google-protobuf (4.28.2-arm64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.28.2-x86-linux) + bigdecimal + rake (>= 13) + google-protobuf (4.28.2-x86_64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.28.2-x86_64-linux) + bigdecimal + rake (>= 13) + http_parser.rb (0.8.0) + i18n (1.14.6) + concurrent-ruby (~> 1.0) + jekyll (4.3.4) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + minima (2.5.2) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (6.0.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.3.7) + rouge (4.4.0) + safe_yaml (1.0.5) + sass-embedded (1.79.3) + google-protobuf (~> 4.27) + rake (>= 13) + sass-embedded (1.79.3-aarch64-linux-android) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-aarch64-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-aarch64-linux-musl) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-aarch64-mingw-ucrt) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm-linux-androideabi) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm-linux-gnueabihf) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm-linux-musleabihf) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-arm64-darwin) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-riscv64-linux-android) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-riscv64-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-riscv64-linux-musl) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-cygwin) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-linux-android) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-linux-musl) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86-mingw-ucrt) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-cygwin) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-darwin) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-linux-android) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-linux-gnu) + google-protobuf (~> 4.27) + sass-embedded (1.79.3-x86_64-linux-musl) + google-protobuf (~> 4.27) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.6.0) + webrick (1.8.1) + +PLATFORMS + aarch64-linux + aarch64-linux-android + aarch64-linux-gnu + aarch64-linux-musl + aarch64-mingw-ucrt + arm-linux-androideabi + arm-linux-gnu + arm-linux-gnueabihf + arm-linux-musl + arm-linux-musleabihf + arm64-darwin + riscv64-linux-android + riscv64-linux-gnu + riscv64-linux-musl + ruby + x86-cygwin + x86-linux + x86-linux-android + x86-linux-gnu + x86-linux-musl + x86-mingw-ucrt + x86_64-cygwin + x86_64-darwin + x86_64-linux + x86_64-linux-android + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + http_parser.rb (~> 0.6.0) + jekyll (~> 4.3.4) + jekyll-feed (~> 0.12) + minima (~> 2.5) + tzinfo (>= 1, < 3) + tzinfo-data + wdm (~> 0.1) + +BUNDLED WITH + 2.5.19 diff --git a/help/_config.yml b/help/_config.yml new file mode 100644 index 000000000000..ef7ba7c13913 --- /dev/null +++ b/help/_config.yml @@ -0,0 +1,55 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: Your awesome title +email: your-email@example.com +description: >- # this means to ignore newlines until "baseurl:" + Write an awesome description for your new site here. You can edit this + line in _config.yml. It will appear in your document head meta (for + Google search results) and in your feed.xml site description. +baseurl: "" # the subpath of your site, e.g. /blog +url: "" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: jekyllrb +github_username: jekyll + +# Build settings +theme: minima +plugins: + - jekyll-feed + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - Gemfile +# - Gemfile.lock +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/help/_posts/2024-09-23-welcome-to-jekyll.markdown b/help/_posts/2024-09-23-welcome-to-jekyll.markdown new file mode 100644 index 000000000000..c53c7643163e --- /dev/null +++ b/help/_posts/2024-09-23-welcome-to-jekyll.markdown @@ -0,0 +1,29 @@ +--- +layout: post +title: "Welcome to Jekyll!" +date: 2024-09-23 12:16:06 -0700 +categories: jekyll update +--- +You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. + +Jekyll requires blog post files to be named according to the following format: + +`YEAR-MONTH-DAY-title.MARKUP` + +Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works. + +Jekyll also offers powerful support for code snippets: + +{% highlight ruby %} +def print_hi(name) + puts "Hi, #{name}" +end +print_hi('Tom') +#=> prints 'Hi, Tom' to STDOUT. +{% endhighlight %} + +Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. + +[jekyll-docs]: https://jekyllrb.com/docs/home +[jekyll-gh]: https://github.com/jekyll/jekyll +[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/help/about.markdown b/help/about.markdown new file mode 100644 index 000000000000..8b4e0b28c83e --- /dev/null +++ b/help/about.markdown @@ -0,0 +1,18 @@ +--- +layout: page +title: About +permalink: /about/ +--- + +This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) + +You can find the source code for Minima at GitHub: +[jekyll][jekyll-organization] / +[minima](https://github.com/jekyll/minima) + +You can find the source code for Jekyll at GitHub: +[jekyll][jekyll-organization] / +[jekyll](https://github.com/jekyll/jekyll) + + +[jekyll-organization]: https://github.com/jekyll diff --git a/help/index.markdown b/help/index.markdown new file mode 100644 index 000000000000..06715078416f --- /dev/null +++ b/help/index.markdown @@ -0,0 +1,6 @@ +--- +# Feel free to add content and custom Front Matter to this file. +# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults + +layout: home +--- diff --git a/help/robots.txt b/help/robots.txt new file mode 100644 index 000000000000..6ffbc308f73e --- /dev/null +++ b/help/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: / + From bf2b7f9c857b5dd9a8d95695c8f04cfc31e1054e Mon Sep 17 00:00:00 2001 From: David Barrett Date: Mon, 23 Sep 2024 21:14:07 -0700 Subject: [PATCH 02/26] Configured Jekyll action and build steps --- .github/workflows/deployNewHelp.yml | 68 +++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/deployNewHelp.yml diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml new file mode 100644 index 000000000000..c9061e99861b --- /dev/null +++ b/.github/workflows/deployNewHelp.yml @@ -0,0 +1,68 @@ +on: + # Run on any push to main that has changes to the help directory + push: + branches: + - main + paths: + - 'help/**' + + # Run on any pull request (except PRs against staging or production) that has changes to the docs directory + pull_request: + types: [opened, synchronize] + branches-ignore: [staging, production] + paths: + - 'help/**' + + # Run on any manual trigger + workflow_dispatch: + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "newhelp" + cancel-in-progress: false + +jobs: + build: + env: + IS_PR_FROM_FORK: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1.0.13 # Using the latest stable version + with: + source: ./help/ + destination: ./help/_site + + - name: Deploy to Cloudflare Pages + uses: cloudflare/pages-action@v1 # Using the latest stable version + id: deploy + if: env.IS_PR_FROM_FORK != 'true' + with: + apiToken: ${{ secrets.CLOUDFLARE_PAGES_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + projectName: newhelp + directory: ./help/_site + + - name: Setup Cloudflare CLI + if: env.IS_PR_FROM_FORK != 'true' + run: pip3 install cloudflare==2.19.0 + + - name: Purge Cloudflare cache + if: env.IS_PR_FROM_FORK != 'true' + run: $HOME/.local/bin/cli4 --verbose --delete hosts=["help.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache + env: + CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} + + - name: Leave a comment on the PR + uses: actions-cool/maintain-one-comment@v3.2.0 # Using the latest stable version + if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }} + with: + token: ${{ secrets.OS_BOTIFY_TOKEN }} + body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} + From 288ccae9d218dde3a2c4094469f9871a6b94167a Mon Sep 17 00:00:00 2001 From: David Barrett Date: Tue, 24 Sep 2024 18:38:28 -0700 Subject: [PATCH 03/26] Slight updates from review --- .github/workflows/deployNewHelp.yml | 2 +- help/_config.yml | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index c9061e99861b..35c6c1f184dc 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -55,7 +55,7 @@ jobs: - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' - run: $HOME/.local/bin/cli4 --verbose --delete hosts=["help.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache + run: "$HOME/.local/bin/cli4" --verbose --delete hosts=["newhelp.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} diff --git a/help/_config.yml b/help/_config.yml index ef7ba7c13913..72bb4d942f9a 100644 --- a/help/_config.yml +++ b/help/_config.yml @@ -18,16 +18,14 @@ # You can create any custom variable you would like, and they will be accessible # in the templates via {{ site.myvariable }}. -title: Your awesome title -email: your-email@example.com +title: New Expensify Help +email: concierge@expensify.com description: >- # this means to ignore newlines until "baseurl:" - Write an awesome description for your new site here. You can edit this - line in _config.yml. It will appear in your document head meta (for - Google search results) and in your feed.xml site description. + Comprehensive help documentation for New Expensify. baseurl: "" # the subpath of your site, e.g. /blog -url: "" # the base hostname & protocol for your site, e.g. http://example.com -twitter_username: jekyllrb -github_username: jekyll +url: "https://newhelp.expensify.com" # the base hostname & protocol for your site, e.g. http://example.com +twitter_username: expensify +github_username: expensify # Build settings theme: minima From 903aedf404ee877a63a0fb5137d676f5e4fb8b22 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Tue, 24 Sep 2024 18:41:43 -0700 Subject: [PATCH 04/26] Undoing suggested fix to see if it fixees worse syntax error --- .github/workflows/deployNewHelp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 35c6c1f184dc..915469f97b0d 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -55,7 +55,7 @@ jobs: - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' - run: "$HOME/.local/bin/cli4" --verbose --delete hosts=["newhelp.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache + run: $HOME/.local/bin/cli4 --verbose --delete hosts=["newhelp.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} From 2b4f0d2a58c7d709dab646d68b22576d7ef575af Mon Sep 17 00:00:00 2001 From: David Barrett Date: Tue, 24 Sep 2024 19:39:48 -0700 Subject: [PATCH 05/26] Added basic superapp page --- help/_layouts/default.html | 25 ++++++++ help/_layouts/product.html | 11 ++++ help/superapp.md | 116 +++++++++++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+) create mode 100644 help/_layouts/default.html create mode 100644 help/_layouts/product.html create mode 100644 help/superapp.md diff --git a/help/_layouts/default.html b/help/_layouts/default.html new file mode 100644 index 000000000000..cf95e1f54b06 --- /dev/null +++ b/help/_layouts/default.html @@ -0,0 +1,25 @@ + + + + + + {{ page.title }} + + +
+ +
+ + +
+ {{ content }} +
+ +
+

© 2024 Your Website

+
+ + + diff --git a/help/_layouts/product.html b/help/_layouts/product.html new file mode 100644 index 000000000000..cb8b5e882f24 --- /dev/null +++ b/help/_layouts/product.html @@ -0,0 +1,11 @@ +--- +layout: default +--- + +

{{ page.title }}

+ + +
+ {{ content }} +
+ diff --git a/help/superapp.md b/help/superapp.md new file mode 100644 index 000000000000..c09ca61bcf46 --- /dev/null +++ b/help/superapp.md @@ -0,0 +1,116 @@ +--- +layout: product +title: Expensify Superapp +--- +# Expensify Superapp + +## Introduction +The Expensify Superapp packs the full power of 6 world class business, finance, and collaboration products, into a single app that works identically on desktop and mobile, efficiently with your colleagues, and seamlessly with your customers, vendors, family, and friends. + +### When should I use Expensify? +Expensify can do a lot. You should check us out whenever you need to: + +Track and manage expenses +: Whether you are reimbursing employee receipts, deducting personal expenses, or just splitting the bill, Expensify Expense is for you. + +Issue corporate cards +: Skip the reimbursement and capture receipts electronically in realtime by issuing the Expensify Card to yourself and your employees. + +Book and manage travel +: If you are booking your own business trip, arranging a trip for a colleague, or managing the travel of your whole company, Expensify Travel has got you covered. + +Chat with friends and coworkers +: Whether it's collaborating with your team, supporting you client, negotiating with your vendor, or just saying Hi to a friend, Expensify Chat connects you with anyone with an email address or SMS number + +Collect invoice payments online +: Expensify Invoice allows you to collect online payments from consumers and businesses alike – anyone with an email address or SMS number. + +Approve and pay bills online +: Scan, process, and approve bills online using Expensify Billpay, then we'll pay them electronically or via check, whatever they prefer. + +If you send, receive, or spend money – or even just talk to literally anyone, about literally anything – Expensify is the tool for you. + +### Who uses Expensify? +Expensify offers something for everyone. Some people who commonly use us include: + +Individuals +: Millions of individuals use Expensify to track personal expenses to maximize their tax deductions, stay within personal budgets, or just see where their money is going. + +Friends +: Expensify is a great way to split bills with friends, whether it's monthly rent and household expenses, a big ticket bachelorette party, or just grabbing drinks with friends. + +Employees +: Road warriors and desk jockeys alike count on Expensify to reimburse expense reports they create in international airports, swanky hotels, imposing conference centers, quaint coffeeshops, and boring office supply stores around the world. + +Managers +: Bosses manage corporate spend with Expensify to empower their best (and keep tabs on their… not so best), staying ahead of schedule and under budget. + +Accountants +: Internal accountants, fractional CFOs, CAS practices – you name it, they use Expensify to Invoice customers, process vendor bills, capture eReceipts, manage corporate spend: the whole shebang. If you're an accountant, we're already best friends. + +Travel managers +: Anyone looking to manage employee travel has come to the right place. + +If you are a person online who does basically anything, you can probably do it with Expensify. + +### Why should I use Expensify? +Though we do a lot, you've got a lot of options for everything we do. But you should use us because we are: +Simple enough for individuals - We've worked extremely hard to make a product that strips out all the complex jargon and enterprise baggage, and gives you a simple tool that doesn't overwhelm you with functionality and language you don't understand. + +Powerful enough for enterprises +: We've worked extremely hard to make a product that "scales up" to reveal increasingly sophisticated features, but only to those who need it, and only when they need it. Expensify is used by public companies, multinational companies, companies with tens of thousands of employees, non-profits, investment firms, accounting firms, manufacturers, and basically every industry in every currency and in every country around the world. If you are a company, we can support your needs, no matter how big or small. + +6 products for the price of 1 +: Do you pay for an expense management system? A corporate card? A travel management platform? An enterprise chat tool? An invoicing tool? A billpay tool? Now you don't need to. Expensify's superapp design allows us to offer ALL these features on a single platform, at probably less than what you pay for any of them individually. + +Supports everyone everywhere +: Expensify works on iPhones and Androids, desktops and browsers. We support every currency, and can reimburse to almost any country. You don't need to be an IT wizard – if you can type in their email address or SMS number, you can do basically everything with them. + +You get paid to use it +: Do you spend money? Spend it on the Expensify Card and we pay you up to 2% cashback. It's your money after all. + +Revenue share for accountants +: Do you manage the books for a bunch of clients? Become an Expensify Approved Accountant and take home 0.5% revenue share. Or share it with your clients as a discount, up to you! + +You are in the driver's seat; we're here to earn your business. But we're going to work harder for you than the other guys, and you won't be disappointed. + +## Concepts +The Expensify Superapp has a lot of moving pieces, so let's break them down one by one. + +### What makes Expensify a superapp? +A "superapp" is a single app that combines multiple products into one seamlessly interconnected experience. Expensify isn't a "suite" of separate products linked through a single account – Expensify is a single app with a single core design that can perform multiple product functions. The secret to making such a seamless experience is that we build all product functions atop the same common core: + +App +: The basis of the superapp experience is the actual app itself, which runs on your mobile phone or desktop computer. (What is the Expensify app?) + +Chats +: Even if you don't plan on using Expensify Chat for enterprise-grade workspace collaboration, chat is infused through the entire product. (What is a chat?) + +Expense +: Even if you aren't actively managing your expenses, you've still got them. Every product that deals with money is ultimately dealing with expenses of some kind. (What is an expense?) + +Workspace +: Though Expensify works great for our millions of individual members, every product really shines when used between groups of members sharing a "workspace". (What is a workspace?) + +Domain +: To support more advanced security features, many products provide extra functionality to members who are on the same email "domain". (What is a domain?) + +These are the foundational concepts you'll see again and again that underpin the superapp as a whole. + +### What is the Expensify app? +Just like your eyes are a window to your soul, the Expensify App is the doorway through which you experience the entire global world of interconnected chat-centric collaborative data that comprises the Expensify network. The main tools of this app consist of: + +Inbox +: The main screen of the app is the Inbox, which highlights exactly what you should do next, consolidated across all products. (What does the Inbox do?) + +Search +: The next major screen is Search, which as you'd expect, let's you search everything across all products, from one convenient and powerful place. (What does Search do?) + +Settings +: Settings wraps up all your personal, workspace, and domain configuration options, all in one helpful space. (What are Expensify's settings?) + +Create +: Finally, the big green plus button is the Create button, which lets you create pretty much anything, across all the products. (What does the Create button do?) + +It's a deceptively simple app, with a few very familiar looking screens and buttons that unlock an incredible range of sophisticated multi-product power. + From 808d5a92b315659452e590ab8ff974a3a813253d Mon Sep 17 00:00:00 2001 From: David Barrett Date: Tue, 24 Sep 2024 21:56:13 -0700 Subject: [PATCH 06/26] Updated for custom plugin for deep linking --- help/Gemfile | 6 +++ help/Gemfile.lock | 20 ++++++++- help/_plugins/51_HeaderIDPostRender.rb | 59 ++++++++++++++++++++++++++ help/superapp.md | 1 - 4 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 help/_plugins/51_HeaderIDPostRender.rb diff --git a/help/Gemfile b/help/Gemfile index 2c345b82ae4d..3bdd94c99fb9 100644 --- a/help/Gemfile +++ b/help/Gemfile @@ -8,8 +8,10 @@ source "https://rubygems.org" # This will help ensure the proper Jekyll version is running. # Happy Jekylling! gem "jekyll", "~> 4.3.4" + # This is the default theme for new Jekyll sites. You may change this to anything you like. gem "minima", "~> 2.5" + # If you want to use GitHub Pages, remove the "gem "jekyll"" above and # uncomment the line below. To upgrade, run `bundle update github-pages`. # gem "github-pages", group: :jekyll_plugins @@ -31,3 +33,7 @@ gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin] # Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem # do not have a Java counterpart. gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] + +# For HTML editing +gem "nokogiri" + diff --git a/help/Gemfile.lock b/help/Gemfile.lock index 77ac51524535..7434e1c4e935 100644 --- a/help/Gemfile.lock +++ b/help/Gemfile.lock @@ -76,13 +76,30 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) + mini_portile2 (2.8.7) minima (2.5.2) jekyll (>= 3.5, < 5.0) jekyll-feed (~> 0.9) jekyll-seo-tag (~> 2.1) + nokogiri (1.16.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.16.7-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.7-arm-linux) + racc (~> 1.4) + nokogiri (1.16.7-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.7-x86-linux) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-linux) + racc (~> 1.4) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (6.0.1) + racc (1.8.1) rake (13.2.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) @@ -138,7 +155,7 @@ GEM terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) unicode-display_width (2.6.0) - webrick (1.8.1) + webrick (1.8.2) PLATFORMS aarch64-linux @@ -174,6 +191,7 @@ DEPENDENCIES jekyll (~> 4.3.4) jekyll-feed (~> 0.12) minima (~> 2.5) + nokogiri tzinfo (>= 1, < 3) tzinfo-data wdm (~> 0.1) diff --git a/help/_plugins/51_HeaderIDPostRender.rb b/help/_plugins/51_HeaderIDPostRender.rb new file mode 100644 index 000000000000..4af97cc788f6 --- /dev/null +++ b/help/_plugins/51_HeaderIDPostRender.rb @@ -0,0 +1,59 @@ +require 'nokogiri' +require 'cgi' # Use CGI for URL encoding + +module Jekyll + class HeaderIDPostRender + # Hook into Jekyll's post_render stage to ensure we work with the final HTML + Jekyll::Hooks.register :pages, :post_render, priority: 51 do |page| + process_page(page) + end + + Jekyll::Hooks.register :documents, :post_render, priority: 51 do |post| + process_page(post) + end + + def self.process_page(page) + return unless page.output_ext == ".html" # Only apply to HTML pages + return if page.output.nil? # Skip if no output has been generated + + puts " Processing page: #{page.path}" + + # Parse the page's content for header elements + doc = Nokogiri::HTML(page.output) + h1_id = "" + h2_id = "" + h3_id = "" + + # Process all

,

, and

elements + (2..4).each do |level| + doc.css("h#{level}").each do |header| + header_text = header.text.strip.downcase + header_id = CGI.escape(header_text.gsub(/\s+/, '-').gsub(/[^\w\-]/, '')) + + puts " Found h#{level}: '#{header_text}' -> ID: '#{header_id}'" + + # Create hierarchical IDs by appending to the parent header IDs + if level == 2 + h2_id = header_id + header['id'] = h2_id + elsif level == 3 + h3_id = "#{h2_id}:#{header_id}" + header['id'] = h3_id + elsif level == 4 + h4_id = "#{h3_id}:#{header_id}" + header['id'] = h4_id + end + + puts " Assigned ID: #{header['id']}" + end + end + + # Log the final output being written + puts " Writing updated HTML for page: #{page.path}" + + # Write the updated HTML back to the page + page.output = doc.to_html + end + end +end + diff --git a/help/superapp.md b/help/superapp.md index c09ca61bcf46..d09860a1ce7e 100644 --- a/help/superapp.md +++ b/help/superapp.md @@ -2,7 +2,6 @@ layout: product title: Expensify Superapp --- -# Expensify Superapp ## Introduction The Expensify Superapp packs the full power of 6 world class business, finance, and collaboration products, into a single app that works identically on desktop and mobile, efficiently with your colleagues, and seamlessly with your customers, vendors, family, and friends. From a452a8effdb298b1bf4185223163557715923975 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Wed, 25 Sep 2024 05:41:35 -0700 Subject: [PATCH 07/26] Removed Github pages dependency to get plugins --- .github/workflows/deployNewHelp.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 915469f97b0d..dfe3f63571dc 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -27,17 +27,26 @@ jobs: env: IS_PR_FROM_FORK: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest + steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1.0.13 # Using the latest stable version + - name: Set up Ruby + uses: ruby/setup-ruby@v1 with: - source: ./help/ - destination: ./help/_site + ruby-version: '3.3.4' # Set to your Ruby version + + - name: Install dependencies + run: | + gem install bundler + bundle install --path vendor/bundle + + - name: Build Jekyll site + run: | + bundle exec jekyll build --source ./help --destination ./help/_site - name: Deploy to Cloudflare Pages uses: cloudflare/pages-action@v1 # Using the latest stable version From 304fdb55ac392bfb717280c399b66e010f4e92c9 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Wed, 25 Sep 2024 05:49:43 -0700 Subject: [PATCH 08/26] Trying to fix build issues in github acitons --- help/Gemfile | 36 ++++++++++++++---------------------- help/Gemfile.lock | 4 +++- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/help/Gemfile b/help/Gemfile index 3bdd94c99fb9..5afaaed2bc64 100644 --- a/help/Gemfile +++ b/help/Gemfile @@ -1,39 +1,31 @@ source "https://rubygems.org" -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! + +# Manage Jekyll version gem "jekyll", "~> 4.3.4" -# This is the default theme for new Jekyll sites. You may change this to anything you like. +# Default theme for new Jekyll sites gem "minima", "~> 2.5" -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -# gem "github-pages", group: :jekyll_plugins -# If you have any plugins, put them here! +# Plugins for Jekyll group :jekyll_plugins do gem "jekyll-feed", "~> 0.12" end -# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem -# and associated library. +# For development on macOS and Linux (add webrick for Jekyll 4.3+) +gem "webrick", "~> 1.8" + +# Nokogiri for HTML editing +gem "nokogiri", "~> 1.12" + +# Optional: Add tzinfo for timezone support (mainly for Windows/JRuby environments) platforms :mingw, :x64_mingw, :mswin, :jruby do gem "tzinfo", ">= 1", "< 3" gem "tzinfo-data" end -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin] - -# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem -# do not have a Java counterpart. +# Lock http_parser.rb gem to v0.6.x for JRuby gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] -# For HTML editing -gem "nokogiri" +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin] diff --git a/help/Gemfile.lock b/help/Gemfile.lock index 7434e1c4e935..064546f52759 100644 --- a/help/Gemfile.lock +++ b/help/Gemfile.lock @@ -190,11 +190,13 @@ DEPENDENCIES http_parser.rb (~> 0.6.0) jekyll (~> 4.3.4) jekyll-feed (~> 0.12) + jekyll-seo-tag minima (~> 2.5) - nokogiri + nokogiri (~> 1.12) tzinfo (>= 1, < 3) tzinfo-data wdm (~> 0.1) + webrick (~> 1.8) BUNDLED WITH 2.5.19 From c2080347f0de54ece199c332c50fb37183772a2a Mon Sep 17 00:00:00 2001 From: David Barrett Date: Wed, 25 Sep 2024 05:57:53 -0700 Subject: [PATCH 09/26] More attempted fixes --- .github/workflows/deployNewHelp.yml | 14 +++++--------- help/Gemfile | 20 +++----------------- 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index dfe3f63571dc..24cb8e79fdcf 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -1,23 +1,18 @@ on: - # Run on any push to main that has changes to the help directory push: branches: - main paths: - 'help/**' - # Run on any pull request (except PRs against staging or production) that has changes to the docs directory pull_request: types: [opened, synchronize] branches-ignore: [staging, production] paths: - 'help/**' - # Run on any manual trigger workflow_dispatch: -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "newhelp" cancel-in-progress: false @@ -37,19 +32,20 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3.4' # Set to your Ruby version + ruby-version: '3.3.4' - name: Install dependencies run: | gem install bundler - bundle install --path vendor/bundle + bundle config set --local path 'vendor/bundle' + bundle install - name: Build Jekyll site run: | bundle exec jekyll build --source ./help --destination ./help/_site - name: Deploy to Cloudflare Pages - uses: cloudflare/pages-action@v1 # Using the latest stable version + uses: cloudflare/pages-action@v1 id: deploy if: env.IS_PR_FROM_FORK != 'true' with: @@ -69,7 +65,7 @@ jobs: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} - name: Leave a comment on the PR - uses: actions-cool/maintain-one-comment@v3.2.0 # Using the latest stable version + uses: actions-cool/maintain-one-comment@v3.2.0 if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }} with: token: ${{ secrets.OS_BOTIFY_TOKEN }} diff --git a/help/Gemfile b/help/Gemfile index 5afaaed2bc64..9ff999c94703 100644 --- a/help/Gemfile +++ b/help/Gemfile @@ -1,31 +1,17 @@ source "https://rubygems.org" -# Manage Jekyll version gem "jekyll", "~> 4.3.4" - -# Default theme for new Jekyll sites gem "minima", "~> 2.5" +gem "nokogiri" -# Plugins for Jekyll group :jekyll_plugins do gem "jekyll-feed", "~> 0.12" end -# For development on macOS and Linux (add webrick for Jekyll 4.3+) -gem "webrick", "~> 1.8" - -# Nokogiri for HTML editing -gem "nokogiri", "~> 1.12" - -# Optional: Add tzinfo for timezone support (mainly for Windows/JRuby environments) platforms :mingw, :x64_mingw, :mswin, :jruby do gem "tzinfo", ">= 1", "< 3" gem "tzinfo-data" end -# Lock http_parser.rb gem to v0.6.x for JRuby -gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1", :platforms => [:mingw, :x64_mingw, :mswin] - +gem "wdm", "~> 0.1", platforms: [:mingw, :x64_mingw, :mswin] +gem "http_parser.rb", "~> 0.6.0", platforms: [:jruby] From 216ded6456ff80ac022e2ccc5f516605ddb1e2b2 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Wed, 25 Sep 2024 06:16:39 -0700 Subject: [PATCH 10/26] Explicitly installing Jekyll --- .github/workflows/deployNewHelp.yml | 11 +++++++++-- help/Gemfile | 2 ++ help/Gemfile.lock | 4 +--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 24cb8e79fdcf..784d5934e395 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -1,18 +1,23 @@ on: + # Run on any push to main that has changes to the help directory push: branches: - main paths: - 'help/**' + # Run on any pull request (except PRs against staging or production) that has changes to the docs directory pull_request: types: [opened, synchronize] branches-ignore: [staging, production] paths: - 'help/**' + # Run on any manual trigger workflow_dispatch: +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "newhelp" cancel-in-progress: false @@ -32,13 +37,14 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3.4' + ruby-version: '3.3.4' - name: Install dependencies run: | - gem install bundler bundle config set --local path 'vendor/bundle' bundle install + gem install jekyll # Explicitly install Jekyll + jekyll -v - name: Build Jekyll site run: | @@ -71,3 +77,4 @@ jobs: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} + diff --git a/help/Gemfile b/help/Gemfile index 9ff999c94703..4f2e425b8aba 100644 --- a/help/Gemfile +++ b/help/Gemfile @@ -8,6 +8,7 @@ group :jekyll_plugins do gem "jekyll-feed", "~> 0.12" end +# If using tzinfo-data for timezone support, ensure it's bundled for relevant platforms platforms :mingw, :x64_mingw, :mswin, :jruby do gem "tzinfo", ">= 1", "< 3" gem "tzinfo-data" @@ -15,3 +16,4 @@ end gem "wdm", "~> 0.1", platforms: [:mingw, :x64_mingw, :mswin] gem "http_parser.rb", "~> 0.6.0", platforms: [:jruby] + diff --git a/help/Gemfile.lock b/help/Gemfile.lock index 064546f52759..7434e1c4e935 100644 --- a/help/Gemfile.lock +++ b/help/Gemfile.lock @@ -190,13 +190,11 @@ DEPENDENCIES http_parser.rb (~> 0.6.0) jekyll (~> 4.3.4) jekyll-feed (~> 0.12) - jekyll-seo-tag minima (~> 2.5) - nokogiri (~> 1.12) + nokogiri tzinfo (>= 1, < 3) tzinfo-data wdm (~> 0.1) - webrick (~> 1.8) BUNDLED WITH 2.5.19 From aeadd2aa3b2d72b16eeaf29121e738fb4484b6f0 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Wed, 25 Sep 2024 06:24:33 -0700 Subject: [PATCH 11/26] Explicitly installing ffi --- .github/workflows/deployNewHelp.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 784d5934e395..bba841eaafb6 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -39,6 +39,10 @@ jobs: with: ruby-version: '3.3.4' + # Explicitly install ffi gem to avoid platform issues + - name: Install ffi gem + run: gem install ffi --platform ruby + - name: Install dependencies run: | bundle config set --local path 'vendor/bundle' @@ -46,6 +50,13 @@ jobs: gem install jekyll # Explicitly install Jekyll jekyll -v + # Clear Bundler cache if needed to resolve caching issues + - name: Clear Bundler cache + run: | + bundle clean --force + bundle install --path vendor/bundle + + # Use bundle exec to ensure Jekyll uses the correct gem versions - name: Build Jekyll site run: | bundle exec jekyll build --source ./help --destination ./help/_site @@ -77,4 +88,3 @@ jobs: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} - From 0cfd8403ab6329230e3948118db0fcc6183abb4f Mon Sep 17 00:00:00 2001 From: David Barrett Date: Wed, 25 Sep 2024 06:30:18 -0700 Subject: [PATCH 12/26] More fixes --- .github/workflows/deployNewHelp.yml | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index bba841eaafb6..d4abb54ba653 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -1,23 +1,16 @@ on: - # Run on any push to main that has changes to the help directory push: branches: - main paths: - 'help/**' - - # Run on any pull request (except PRs against staging or production) that has changes to the docs directory pull_request: types: [opened, synchronize] branches-ignore: [staging, production] paths: - 'help/**' - - # Run on any manual trigger workflow_dispatch: -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "newhelp" cancel-in-progress: false @@ -37,26 +30,15 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3.4' - - # Explicitly install ffi gem to avoid platform issues - - name: Install ffi gem - run: gem install ffi --platform ruby + ruby-version: '3.3.4' - name: Install dependencies run: | bundle config set --local path 'vendor/bundle' bundle install - gem install jekyll # Explicitly install Jekyll - jekyll -v - - # Clear Bundler cache if needed to resolve caching issues - - name: Clear Bundler cache - run: | - bundle clean --force - bundle install --path vendor/bundle + bundle exec gem install jekyll # Use bundle exec to avoid conflicts + bundle exec jekyll -v - # Use bundle exec to ensure Jekyll uses the correct gem versions - name: Build Jekyll site run: | bundle exec jekyll build --source ./help --destination ./help/_site From ee36a05eb8b6c3fe660584ff3ef4af0f530f6a6c Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:07:12 -0700 Subject: [PATCH 13/26] Reverted a bunch, trying again with better directory control --- .github/workflows/deployNewHelp.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index d4abb54ba653..06062d47aa9a 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -69,4 +69,3 @@ jobs: with: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} - From d65098ea51e75152536dacdda8444816258a168f Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:13:56 -0700 Subject: [PATCH 14/26] Reverted a bunch, trying again with better directory control --- .github/workflows/deployNewHelp.yml | 34 ++++++++++++----------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 06062d47aa9a..066845bbf49e 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -1,16 +1,23 @@ on: + # Run on any push to main that has changes to the help directory push: branches: - main paths: - 'help/**' + + # Run on any pull request (except PRs against staging or production) that has changes to the docs directory pull_request: types: [opened, synchronize] branches-ignore: [staging, production] paths: - 'help/**' + + # Run on any manual trigger workflow_dispatch: +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. concurrency: group: "newhelp" cancel-in-progress: false @@ -20,31 +27,18 @@ jobs: env: IS_PR_FROM_FORK: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest - steps: - name: Checkout uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1.0.13 # Using the latest stable version with: - ruby-version: '3.3.4' - - - name: Install dependencies - run: | - bundle config set --local path 'vendor/bundle' - bundle install - bundle exec gem install jekyll # Use bundle exec to avoid conflicts - bundle exec jekyll -v - - - name: Build Jekyll site - run: | - bundle exec jekyll build --source ./help --destination ./help/_site + source: ./help/ + destination: ./help/_site - name: Deploy to Cloudflare Pages - uses: cloudflare/pages-action@v1 + uses: cloudflare/pages-action@v1 # Using the latest stable version id: deploy if: env.IS_PR_FROM_FORK != 'true' with: @@ -59,12 +53,12 @@ jobs: - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' - run: $HOME/.local/bin/cli4 --verbose --delete hosts=["newhelp.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache + run: $HOME/.local/bin/cli4 --verbose --delete hosts=["help.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} - name: Leave a comment on the PR - uses: actions-cool/maintain-one-comment@v3.2.0 + uses: actions-cool/maintain-one-comment@v3.2.0 # Using the latest stable version if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }} with: token: ${{ secrets.OS_BOTIFY_TOKEN }} From ce36bfb845f4e50af743021bc77d286238dd420f Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:25:58 -0700 Subject: [PATCH 15/26] Removing cruft --- help/_config.yml | 50 +------------------ .../2024-09-23-welcome-to-jekyll.markdown | 29 ----------- help/about.markdown | 18 ------- help/index.markdown | 7 ++- 4 files changed, 5 insertions(+), 99 deletions(-) delete mode 100644 help/_posts/2024-09-23-welcome-to-jekyll.markdown delete mode 100644 help/about.markdown diff --git a/help/_config.yml b/help/_config.yml index 72bb4d942f9a..9135a372964e 100644 --- a/help/_config.yml +++ b/help/_config.yml @@ -1,53 +1,7 @@ -# Welcome to Jekyll! -# -# This config file is meant for settings that affect your whole blog, values -# which you are expected to set up once and rarely edit after that. If you find -# yourself editing this file very often, consider using Jekyll's data files -# feature for the data you need to update frequently. -# -# For technical reasons, this file is *NOT* reloaded automatically when you use -# 'bundle exec jekyll serve'. If you change this file, please restart the server process. -# -# If you need help with YAML syntax, here are some quick references for you: -# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml -# https://learnxinyminutes.com/docs/yaml/ -# -# Site settings -# These are used to personalize your new site. If you look in the HTML files, -# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. -# You can create any custom variable you would like, and they will be accessible -# in the templates via {{ site.myvariable }}. - title: New Expensify Help email: concierge@expensify.com -description: >- # this means to ignore newlines until "baseurl:" - Comprehensive help documentation for New Expensify. -baseurl: "" # the subpath of your site, e.g. /blog -url: "https://newhelp.expensify.com" # the base hostname & protocol for your site, e.g. http://example.com +description: Comprehensive help documentation for New Expensify. +url: https://newhelp.expensify.com twitter_username: expensify github_username: expensify -# Build settings -theme: minima -plugins: - - jekyll-feed - -# Exclude from processing. -# The following items will not be processed, by default. -# Any item listed under the `exclude:` key here will be automatically added to -# the internal "default list". -# -# Excluded items can be processed by explicitly listing the directories or -# their entries' file path in the `include:` list. -# -# exclude: -# - .sass-cache/ -# - .jekyll-cache/ -# - gemfiles/ -# - Gemfile -# - Gemfile.lock -# - node_modules/ -# - vendor/bundle/ -# - vendor/cache/ -# - vendor/gems/ -# - vendor/ruby/ diff --git a/help/_posts/2024-09-23-welcome-to-jekyll.markdown b/help/_posts/2024-09-23-welcome-to-jekyll.markdown deleted file mode 100644 index c53c7643163e..000000000000 --- a/help/_posts/2024-09-23-welcome-to-jekyll.markdown +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: "Welcome to Jekyll!" -date: 2024-09-23 12:16:06 -0700 -categories: jekyll update ---- -You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. - -Jekyll requires blog post files to be named according to the following format: - -`YEAR-MONTH-DAY-title.MARKUP` - -Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works. - -Jekyll also offers powerful support for code snippets: - -{% highlight ruby %} -def print_hi(name) - puts "Hi, #{name}" -end -print_hi('Tom') -#=> prints 'Hi, Tom' to STDOUT. -{% endhighlight %} - -Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk]. - -[jekyll-docs]: https://jekyllrb.com/docs/home -[jekyll-gh]: https://github.com/jekyll/jekyll -[jekyll-talk]: https://talk.jekyllrb.com/ diff --git a/help/about.markdown b/help/about.markdown deleted file mode 100644 index 8b4e0b28c83e..000000000000 --- a/help/about.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: About -permalink: /about/ ---- - -This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) - -You can find the source code for Minima at GitHub: -[jekyll][jekyll-organization] / -[minima](https://github.com/jekyll/minima) - -You can find the source code for Jekyll at GitHub: -[jekyll][jekyll-organization] / -[jekyll](https://github.com/jekyll/jekyll) - - -[jekyll-organization]: https://github.com/jekyll diff --git a/help/index.markdown b/help/index.markdown index 06715078416f..e5d075402ecb 100644 --- a/help/index.markdown +++ b/help/index.markdown @@ -1,6 +1,5 @@ --- -# Feel free to add content and custom Front Matter to this file. -# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults - -layout: home +title: New Expensify Help --- +Pages: +* [Expensify Superapp](/superapp.html) From 639335077bbf7f8ef7f517145457d99e63d335c0 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:34:14 -0700 Subject: [PATCH 16/26] Still working on working directory --- .github/workflows/deployNewHelp.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 066845bbf49e..bcdea4190f6e 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -36,6 +36,7 @@ jobs: with: source: ./help/ destination: ./help/_site + working-directory: ./help - name: Deploy to Cloudflare Pages uses: cloudflare/pages-action@v1 # Using the latest stable version @@ -46,16 +47,19 @@ jobs: accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} projectName: newhelp directory: ./help/_site + working-directory: ./help - name: Setup Cloudflare CLI if: env.IS_PR_FROM_FORK != 'true' run: pip3 install cloudflare==2.19.0 + working-directory: ./help - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' run: $HOME/.local/bin/cli4 --verbose --delete hosts=["help.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} + working-directory: ./help - name: Leave a comment on the PR uses: actions-cool/maintain-one-comment@v3.2.0 # Using the latest stable version @@ -63,3 +67,4 @@ jobs: with: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} + working-directory: ./help From 29656b5383a08efd672296cc25206e0eb87b7089 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:44:04 -0700 Subject: [PATCH 17/26] Still working on working directory --- .github/workflows/deployNewHelp.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index bcdea4190f6e..65d122a48a7a 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -36,7 +36,6 @@ jobs: with: source: ./help/ destination: ./help/_site - working-directory: ./help - name: Deploy to Cloudflare Pages uses: cloudflare/pages-action@v1 # Using the latest stable version @@ -67,4 +66,3 @@ jobs: with: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} - working-directory: ./help From f71e2072fbaae5322b72d46a1f1c8ace2fdc0981 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:48:45 -0700 Subject: [PATCH 18/26] Still working on working directory --- .github/workflows/deployNewHelp.yml | 45 ++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 65d122a48a7a..f6d80f497f9a 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -6,7 +6,7 @@ on: paths: - 'help/**' - # Run on any pull request (except PRs against staging or production) that has changes to the docs directory + # Run on any pull request (except PRs against staging or production) that has changes to the help directory pull_request: types: [opened, synchronize] branches-ignore: [staging, production] @@ -16,8 +16,7 @@ on: # Run on any manual trigger workflow_dispatch: -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +# Allow only one concurrent deployment concurrency: group: "newhelp" cancel-in-progress: false @@ -27,42 +26,60 @@ jobs: env: IS_PR_FROM_FORK: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest + steps: - - name: Checkout + - name: Checkout code uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1.0.13 # Using the latest stable version + # Set up Ruby and run commands inside the /help directory + - name: Set up Ruby + uses: ruby/setup-ruby@v1 with: - source: ./help/ - destination: ./help/_site + ruby-version: '3.3.4' # Match your local Ruby version + bundler-cache: true + working-directory: ./help # Ensures Ruby setup is applied in /help + + - name: Install dependencies + run: | + bundle config set --local path 'vendor/bundle' + bundle install # Install all gems, including custom plugins + working-directory: ./help # Make sure dependencies are installed inside /help + + - name: Build Jekyll site + run: | + bundle exec jekyll build --source ./ --destination ./_site # Build within /help + working-directory: ./help # Ensure Jekyll is building the site in /help - name: Deploy to Cloudflare Pages - uses: cloudflare/pages-action@v1 # Using the latest stable version + uses: cloudflare/pages-action@v1 id: deploy if: env.IS_PR_FROM_FORK != 'true' with: apiToken: ${{ secrets.CLOUDFLARE_PAGES_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} projectName: newhelp - directory: ./help/_site - working-directory: ./help + directory: ./help/_site # Deploy the built site + working-directory: ./help # Ensure deployment is done from /help - name: Setup Cloudflare CLI if: env.IS_PR_FROM_FORK != 'true' run: pip3 install cloudflare==2.19.0 - working-directory: ./help + working-directory: ./help # Run CLI setup in /help - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' run: $HOME/.local/bin/cli4 --verbose --delete hosts=["help.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} - working-directory: ./help + working-directory: ./help # Ensure cache purging is executed in /help - name: Leave a comment on the PR - uses: actions-cool/maintain-one-comment@v3.2.0 # Using the latest stable version + uses: actions-cool/maintain-one-comment@v3.2.0 if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }} with: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} + working-directory: ./help # Leave comment from /help + From d158e6d67c881acd4d5992cb002dfe278f5f409d Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 21:50:07 -0700 Subject: [PATCH 19/26] Still working on working directory --- .github/workflows/deployNewHelp.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index f6d80f497f9a..438fdb3c990e 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -39,7 +39,6 @@ jobs: with: ruby-version: '3.3.4' # Match your local Ruby version bundler-cache: true - working-directory: ./help # Ensures Ruby setup is applied in /help - name: Install dependencies run: | @@ -61,7 +60,6 @@ jobs: accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} projectName: newhelp directory: ./help/_site # Deploy the built site - working-directory: ./help # Ensure deployment is done from /help - name: Setup Cloudflare CLI if: env.IS_PR_FROM_FORK != 'true' @@ -81,5 +79,4 @@ jobs: with: token: ${{ secrets.OS_BOTIFY_TOKEN }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} - working-directory: ./help # Leave comment from /help From 843e09949e6cd68685a736ee2e411a146fd8e399 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Thu, 26 Sep 2024 23:26:33 -0700 Subject: [PATCH 20/26] Fixing validation error --- .github/workflows/deployNewHelp.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 438fdb3c990e..5262e2468429 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -68,7 +68,8 @@ jobs: - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' - run: $HOME/.local/bin/cli4 --verbose --delete hosts=["help.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache + run: "$HOME/.local/bin/cli4 --verbose --delete 'hosts=[\"newhelp.expensify.com\"]' /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache" + env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} working-directory: ./help # Ensure cache purging is executed in /help From 689b355f8b58ccde4cce1eed34abc67f151b6a89 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Fri, 27 Sep 2024 11:58:38 -0700 Subject: [PATCH 21/26] With amazing updates from @rory --- .github/workflows/deployNewHelp.yml | 24 ++++++------------- .github/workflows/preDeploy.yml | 2 +- .../workflows/reassurePerformanceTests.yml | 2 +- .github/workflows/sendReassurePerfData.yml | 2 +- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 5262e2468429..917ce1b3c0ef 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -1,3 +1,5 @@ +name: Deploy New Help Site + on: # Run on any push to main that has changes to the help directory push: @@ -30,25 +32,16 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 - with: - fetch-depth: 0 - # Set up Ruby and run commands inside the /help directory + # Set up Ruby and run bundle install inside the /help directory - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3.4' # Match your local Ruby version bundler-cache: true - - - name: Install dependencies - run: | - bundle config set --local path 'vendor/bundle' - bundle install # Install all gems, including custom plugins - working-directory: ./help # Make sure dependencies are installed inside /help + working-directory: ./help - name: Build Jekyll site - run: | - bundle exec jekyll build --source ./ --destination ./_site # Build within /help + run: bundle exec jekyll build --source ./ --destination ./_site working-directory: ./help # Ensure Jekyll is building the site in /help - name: Deploy to Cloudflare Pages @@ -64,20 +57,17 @@ jobs: - name: Setup Cloudflare CLI if: env.IS_PR_FROM_FORK != 'true' run: pip3 install cloudflare==2.19.0 - working-directory: ./help # Run CLI setup in /help - name: Purge Cloudflare cache if: env.IS_PR_FROM_FORK != 'true' - run: "$HOME/.local/bin/cli4 --verbose --delete 'hosts=[\"newhelp.expensify.com\"]' /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache" - + run: /home/runner/.local/bin/cli4 --verbose --delete hosts=["newhelp.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache env: CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }} - working-directory: ./help # Ensure cache purging is executed in /help - name: Leave a comment on the PR uses: actions-cool/maintain-one-comment@v3.2.0 if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }} with: - token: ${{ secrets.OS_BOTIFY_TOKEN }} + token: ${{ github.token }} body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }} diff --git a/.github/workflows/preDeploy.yml b/.github/workflows/preDeploy.yml index 796468170275..bfe860e60224 100644 --- a/.github/workflows/preDeploy.yml +++ b/.github/workflows/preDeploy.yml @@ -4,7 +4,7 @@ name: Process new code merged to main on: push: branches: [main] - paths-ignore: [docs/**, contributingGuides/**, jest/**, tests/**] + paths-ignore: [docs/**, help/**, contributingGuides/**, jest/**, tests/**] jobs: typecheck: diff --git a/.github/workflows/reassurePerformanceTests.yml b/.github/workflows/reassurePerformanceTests.yml index d4a25a63952b..fb7a34d6fa01 100644 --- a/.github/workflows/reassurePerformanceTests.yml +++ b/.github/workflows/reassurePerformanceTests.yml @@ -4,7 +4,7 @@ on: pull_request: types: [opened, synchronize] branches-ignore: [staging, production] - paths-ignore: [docs/**, .github/**, contributingGuides/**, tests/**, '**.md', '**.sh'] + paths-ignore: [docs/**, help/**, .github/**, contributingGuides/**, tests/**, '**.md', '**.sh'] jobs: perf-tests: diff --git a/.github/workflows/sendReassurePerfData.yml b/.github/workflows/sendReassurePerfData.yml index 42d946cece95..884182bfc896 100644 --- a/.github/workflows/sendReassurePerfData.yml +++ b/.github/workflows/sendReassurePerfData.yml @@ -3,7 +3,7 @@ name: Send Reassure Performance Tests to Graphite on: push: branches: [main] - paths-ignore: [docs/**, contributingGuides/**, jest/**] + paths-ignore: [docs/**, help/**, contributingGuides/**, jest/**] jobs: perf-tests: From a2598c498adb4497eb85eb1ecd320d8a92fc879c Mon Sep 17 00:00:00 2001 From: David Barrett Date: Fri, 27 Sep 2024 12:03:30 -0700 Subject: [PATCH 22/26] Whoops, missed ruby-version file --- .github/workflows/.ruby-version | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/.ruby-version diff --git a/.github/workflows/.ruby-version b/.github/workflows/.ruby-version new file mode 100644 index 000000000000..a0891f563f38 --- /dev/null +++ b/.github/workflows/.ruby-version @@ -0,0 +1 @@ +3.3.4 From 93385fcbadc331335830c47c0cf6032d9c7d0775 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Fri, 27 Sep 2024 12:09:01 -0700 Subject: [PATCH 23/26] Removing working directory from Ruby install so it finds the .ruby-version --- .github/workflows/deployNewHelp.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 917ce1b3c0ef..b0a535338e43 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -38,7 +38,6 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - working-directory: ./help - name: Build Jekyll site run: bundle exec jekyll build --source ./ --destination ./_site From ec8e29e939299c7bf53e49011d9bc9366b3821ab Mon Sep 17 00:00:00 2001 From: David Barrett Date: Fri, 27 Sep 2024 12:12:42 -0700 Subject: [PATCH 24/26] Moving .ruby-version to /help to keep install all in there --- .github/workflows/deployNewHelp.yml | 1 + {.github/workflows => help}/.ruby-version | 0 2 files changed, 1 insertion(+) rename {.github/workflows => help}/.ruby-version (100%) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index b0a535338e43..917ce1b3c0ef 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -38,6 +38,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true + working-directory: ./help - name: Build Jekyll site run: bundle exec jekyll build --source ./ --destination ./_site diff --git a/.github/workflows/.ruby-version b/help/.ruby-version similarity index 100% rename from .github/workflows/.ruby-version rename to help/.ruby-version From 99beb83deeab79234338e8dcb7b5284aac44537e Mon Sep 17 00:00:00 2001 From: David Barrett Date: Fri, 27 Sep 2024 12:16:08 -0700 Subject: [PATCH 25/26] Removing main commit hook per @rory's suggestion --- .github/workflows/deployNewHelp.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 917ce1b3c0ef..4f90c39d1a50 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -2,11 +2,12 @@ name: Deploy New Help Site on: # Run on any push to main that has changes to the help directory - push: - branches: - - main - paths: - - 'help/**' +# TEST: Verify Cloudflare picks this up even if not run when merged to main +# push: +# branches: +# - main +# paths: +# - 'help/**' # Run on any pull request (except PRs against staging or production) that has changes to the help directory pull_request: @@ -38,7 +39,6 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true - working-directory: ./help - name: Build Jekyll site run: bundle exec jekyll build --source ./ --destination ./_site From 4c45ce32d8e0e7104ebd9384ca379ac68acfe2e3 Mon Sep 17 00:00:00 2001 From: David Barrett Date: Fri, 27 Sep 2024 12:28:42 -0700 Subject: [PATCH 26/26] Fixed working directory --- .github/workflows/deployNewHelp.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deployNewHelp.yml b/.github/workflows/deployNewHelp.yml index 4f90c39d1a50..8c4d0fb0ae3b 100644 --- a/.github/workflows/deployNewHelp.yml +++ b/.github/workflows/deployNewHelp.yml @@ -39,6 +39,7 @@ jobs: uses: ruby/setup-ruby@v1 with: bundler-cache: true + working-directory: ./help - name: Build Jekyll site run: bundle exec jekyll build --source ./ --destination ./_site