Skip to content

Commit

Permalink
Merge branch 'main' into @chrispader/use-platform-stack-navigation-in…
Browse files Browse the repository at this point in the history
…-app
  • Loading branch information
chrispader committed Sep 30, 2024
2 parents 912f01a + 843eb28 commit 580071a
Show file tree
Hide file tree
Showing 44 changed files with 514 additions and 569 deletions.
2 changes: 1 addition & 1 deletion .github/actions/composite/setupGitForOSBotify/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ runs:
- name: Set up git for OSBotify
shell: bash
run: |
git config user.signingkey 367811D53E34168C
git config user.signingkey AEE1036472A782AB
git config commit.gpgsign true
git config user.name OSBotify
git config user.email [email protected]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ runs:
- name: Set up git for OSBotify
shell: bash
run: |
git config user.signingkey 367811D53E34168C
git config user.signingkey AEE1036472A782AB
git config commit.gpgsign true
git config user.name OSBotify
git config user.email [email protected]
Expand Down
Binary file modified .github/workflows/OSBotify-private-key.asc.gpg
Binary file not shown.
78 changes: 57 additions & 21 deletions .github/workflows/deployNewHelp.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
name: Deploy New Help Site

on:
# Run on any push to main that has changes to the help directory
# TEST: Verify Cloudflare picks this up even if not run when merged to main
# push:
# branches:
# - main
# paths:
# - 'help/**'
# Run on any push to main that has changes to the help directory. This will cause this
# to deploy the latest code to newhelp.expensify.com
push:
branches:
- main
paths:
- 'help/**'
- './.github/workflows/deployNewHelp.yml'

# Run on any pull request (except PRs against staging or production) that has changes to the help directory
# Run on any pull request (except PRs against staging or production) that has
# changes to the help directory. This will cause it to deploy this unmerged branch to
# a Cloudflare "preview" environment
pull_request:
types: [opened, synchronize]
branches-ignore: [staging, production]
paths:
- 'help/**'

- './.github/workflows/deployNewHelp.yml'
# Run on any manual trigger
workflow_dispatch:

Expand All @@ -27,10 +30,17 @@ concurrency:
jobs:
build:
env:
# Open source contributors do not have write access to the Expensify/App repo,
# so must submit PRs from forks. This variable detects if the PR is coming
# from a fork, and thus is from an outside contributor.
IS_PR_FROM_FORK: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork }}

# Set up a clean Ubuntu build environment
runs-on: ubuntu-latest

steps:
# We start by checking out the entire repo into a clean build environment within
# the Github Action
- name: Checkout code
uses: actions/checkout@v4

Expand All @@ -41,34 +51,60 @@ jobs:
bundler-cache: true
working-directory: ./help

# Manually run Jekyll, bypassing Github Pages
- name: Build Jekyll site
run: bundle exec jekyll build --source ./ --destination ./_site
working-directory: ./help # Ensure Jekyll is building the site in /help

# This will copy the contents of /help/_site to Cloudflare. The pages-action will
# evaluate the current branch to determine into which CF environment to deploy:
# - If you are on 'main', it will deploy to 'production' in Cloudflare
# - Otherwise it will deploy to a 'preview' environment made for this branch
- name: Deploy to Cloudflare Pages
uses: cloudflare/pages-action@v1
id: deploy
if: env.IS_PR_FROM_FORK != 'true'
id: cloudflarePagesAction
if: ${{ env.IS_PR_FROM_FORK != 'true' }}
with:
apiToken: ${{ secrets.CLOUDFLARE_PAGES_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: newhelp
directory: ./help/_site # Deploy the built site

# After deploying Cloudflare preview build, share wherever it deployed to in the PR comment.
- name: Leave a comment on the PR
uses: actions-cool/[email protected]
if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }}
with:
token: ${{ github.token }}
body: ${{ format('Your New Help changes have been deployed to {0} :zap:️', steps.cloudflarePagesAction.outputs.alias) }}

- name: Get merged pull request
if: ${{ github.event_name == 'push' }}
id: getMergedPullRequest
uses: actions-ecosystem/action-get-merged-pull-request@59afe90821bb0b555082ce8ff1e36b03f91553d9
with:
github_token: ${{ github.token }}

- name: Leave a comment on the PR after it's merged
if: ${{ github.event_name == 'push' }}
run: |
gh pr comment ${{ steps.getMergedPullRequest.outputs.number }} --body "$(cat <<'EOF'
🚀Deployed to [NewHelp production](https://newhelp.expensify.com)! 🚀
([_View deploy workflow run_](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}))
EOF
)"
env:
GITHUB_TOKEN: ${{ github.token }}

# Use the Cloudflare CLI...
- name: Setup Cloudflare CLI
if: env.IS_PR_FROM_FORK != 'true'
if: ${{ env.IS_PR_FROM_FORK != 'true' }}
run: pip3 install cloudflare==2.19.0

# ... to purge the cache, such that all users will see the latest content.
- name: Purge Cloudflare cache
if: env.IS_PR_FROM_FORK != 'true'
if: ${{ env.IS_PR_FROM_FORK != 'true' }}
run: /home/runner/.local/bin/cli4 --verbose --delete hosts=["newhelp.expensify.com"] /zones/:9ee042e6cfc7fd45e74aa7d2f78d617b/purge_cache
env:
CF_API_KEY: ${{ secrets.CLOUDFLARE_TOKEN }}

- name: Leave a comment on the PR
uses: actions-cool/[email protected]
if: ${{ github.event_name == 'pull_request' && env.IS_PR_FROM_FORK != 'true' }}
with:
token: ${{ github.token }}
body: ${{ format('A preview of your New Help changes have been deployed to {0} :zap:️', steps.deploy.outputs.alias) }}

4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1009004106
versionName "9.0.41-6"
versionCode 1009004110
versionName "9.0.41-10"
// Supported language variants must be declared here to avoid from being removed during the compilation.
// This also helps us to not include unnecessary language variants in the APK.
resConfigs "en", "es"
Expand Down
50 changes: 50 additions & 0 deletions help/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Welcome to New Help!
Here are some instructions on how to get started with New Help...

## How to contribute
Expensify is an open source app, with its public Github repo hosted at https://github.com/Expensify/App. The newhelp.expensify.com website is a part of that same open source project. You can contribute to this helpsite in one of two ways:

### The hard way: local dev environment
If you are a developer comfortable working on the command line, you can edit these files as follows:

1. Fork https://github.com/Expensify/App repo
* `...tbd...`
2. Install Homebrew: https://brew.sh/
3. Install `rbenv` using brew:
* `brew install rbenv`
4. Install ruby v3.3.4 using
* `rbenv install 3.3.4`
5. Set the your default ruby version using
* `rbenv global 3.3.4`
6. Install Jekyll and bundler gem
* `cd help`
* `gem install jekyll bundler`
7. Create a branch for your changes
8. Make your changes
9. Locally build and test your changes:
* `bundle exec jekyll build`
10. Push your changes

### The easy way: edit on Github
If you don't want to set up your own local dev environment, feel free to just edit the help materials directly from Github:

1. Open whatever file you want.
2. Replace `github.com` with `github.dev` in the URL
3. Edit away!

## How to add a page
The current design of NewHelp.expensify.com is only to have a very small handful pages (one for each "product"), each of which is a markdown file stored in `/help` using the `product` template (defined in `/help/_layouts/product.html`). Accordingly, it's very unlikely you'll be adding a new page.

The goal is to use a system named Jekyll to do the heavy lifting of not just converting that Markdown into HTML, but also allowing for deep linking of the headers, auto-linking mentions of those titles elsewhere, and a ton more. So, just write a basic Markdown file, and it should handle the rest.

## How to preview the site online
Every PR pushed by an authorized Expensify employee or representative will automatically trigger a "build" of the site using a Github Action. This will [follow these steps](../.github/workflows/deployNewHelp.yml) to:
1. Start a new Ubuntu server
2. Check out the repo
3. Install Ruby and Jekyll
4. Build the entire site using Jekyll
5. Create a "preview" of the newly built site in Cloudflare
6. Record a link to that preview in the PR.

## How to deploy the site for real
Whenever a PR that touches the `/help` directory is merged, it will re-run the build just like before. However, it will detect that this build is being run from the `main` branch, and thus push the changes to the `production` Cloudflare environment -- meaning, it will replace the contents hosted at https://newhelp.expensify.com
3 changes: 3 additions & 0 deletions help/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ url: https://newhelp.expensify.com
twitter_username: expensify
github_username: expensify

# Ignore what's only used for the Github repo
exclude:
- README.md
2 changes: 1 addition & 1 deletion ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>9.0.41.6</string>
<string>9.0.41.10</string>
<key>FullStory</key>
<dict>
<key>OrgId</key>
Expand Down
2 changes: 1 addition & 1 deletion ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>9.0.41.6</string>
<string>9.0.41.10</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion ios/NotificationServiceExtension/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<key>CFBundleShortVersionString</key>
<string>9.0.41</string>
<key>CFBundleVersion</key>
<string>9.0.41.6</string>
<string>9.0.41.10</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
Expand Down
8 changes: 4 additions & 4 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2360,7 +2360,7 @@ PODS:
- RNGoogleSignin (10.0.1):
- GoogleSignIn (~> 7.0)
- React-Core
- RNLiveMarkdown (0.1.143):
- RNLiveMarkdown (0.1.159):
- DoubleConversion
- glog
- hermes-engine
Expand All @@ -2380,9 +2380,9 @@ PODS:
- ReactCodegen
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- RNLiveMarkdown/common (= 0.1.143)
- RNLiveMarkdown/common (= 0.1.159)
- Yoga
- RNLiveMarkdown/common (0.1.143):
- RNLiveMarkdown/common (0.1.159):
- DoubleConversion
- glog
- hermes-engine
Expand Down Expand Up @@ -3229,7 +3229,7 @@ SPEC CHECKSUMS:
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNGestureHandler: 8781e2529230a1bc3ea8d75e5c3cd071b6c6aed7
RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0
RNLiveMarkdown: e44918843c2638692348f39eafc275698baf0444
RNLiveMarkdown: 2d97e3f4952c642cdd31bc05555e44dc5edcdba1
RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81
rnmapbox-maps: 460d6ff97ae49c7d5708c3212c6521697c36a0c4
RNPermissions: 0b1429b55af59d1d08b75a8be2459f65a8ac3f28
Expand Down
38 changes: 19 additions & 19 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 580071a

Please sign in to comment.