Skip to content

Commit

Permalink
Add a .github action to build DIRECTORY.md (#36)
Browse files Browse the repository at this point in the history
* Add a .github action to build DIRECTORY.md

* Update gh action build_directory_md

* Add ignored paths and git credentials

* chore: minor Gitpod improvements (#34)

Add Gitpod badge and prebuilds for all branches and forks

* Add binary search (#37)

* Add binary search

* Update binary search: add recursive version

* Update binary search: better description

* Update binary search: update runnableExamples

* Update binary search: improve tests, add overload for recursive func

* Update binary search: evaluate if-expression into result

* grammar

* Update binary search: improve description, add comments

* Update binary search: add missing test cases

* Update binary search: add info about pivot choice in description, rearrange it

* Update binary search: change int to Natural

* Update binary search: if block -> guard clause

* Update binary search: test cases

* Update binary search: simplify docs

* Update binary search: nimpretty

* Apply suggestions from code review

Co-authored-by: David Leal <[email protected]>

* Replace by an attempt of github pr create

* Fix branching and environment variable in the PR

Co-authored-by: David Leal <[email protected]>

* Create and populate the Maths directory (#4)

* Add a sample of maths basic algorithms

* Update maths/abs.nim

Co-authored-by: Zoom <[email protected]>

* Use openArray in absMaxSort

Co-authored-by: Zoom <[email protected]>

* Fix seq->openArray and int->SomeInteger

* Use Positive as input instead

* Update maths/addition_without_arithmetic.nim

Co-authored-by: Pietro Peterlongo <[email protected]>

* Name allocation number

* [maths/abs] Replace maxAbsSort by signed[Min/Max]Abs

* [Aliquot Sum] Add header

* Add empty line at end of file

* Remove Allocation number since it is a non standard algorithm

* Fix titles

* Run nimpretty on the files

* Rename file and add DIRECTORY.md



---------

Co-authored-by: Dimitri LESNOFF <[email protected]>
Co-authored-by: David Leal <[email protected]>

* Add arc length (#10)

* Fix linear search (#33)

* Use a dynamic allocated array (sequence) for strings

* Run nimpretty

* Add requested changes

* Fix documentation generation

* Fix test title according to changes

Co-authored-by: Satin Wuker <[email protected]>

* Update comments to warn about indexing issues

Modified a bit the suggestions of comments. Please check them before approving.

Co-authored-by: Zoom <[email protected]>

---------

Co-authored-by: Dimitri LESNOFF <[email protected]>
Co-authored-by: Zoom <[email protected]>

* chore: run `apt-get update` before running other commands (#41)

This will run `sudo apt-get update` before running any other commands on the Gitpod prebuild image (`.gitpod.dockerfile`).

* Readme: fix gitter link, add Nim logo, formatting fixes (#42)

* Update README.md

Use more extended markdown syntax instead of HTML,
Add Matrix links
Superseed PR #40

* Actually fix gitter! Move img src links to footer.

Also changed the TheAlgorithms logo image link.

* Restore TheAlgorithms logo link

* More link fixes

---------

Co-authored-by: dlesnoff <[email protected]>

* fix: nimpretty for `arc_length.nim` (#43)

* chore: `gc`->`mm`, move back to `config.nims` (#47)

* chore: revert #41 (#45)

* Update codeowners

* Fix: CONTRIBUTING.md links (#49)

Uppercase `directory.md` to `DIRECTORY.md`

* feat: add Levenshtein distance (#46)

* feat: add Levenshtein distance

* Apply suggestions from code review

Co-authored-by: Zoom <[email protected]>

* refactor: use toKey in initSubsolutions

* style: use .Natural

* style: remove blank line

* refactor: add Key type

* style: use descriptive variable names

* style: use a, b instead of strA, strB

* docs: add note about complexity

* refator: add name to TestCase

* docs: remove sentence about dp

* docs: update documentation of `levenshteinDistance`

Co-authored-by: Zoom <[email protected]>

* docs: rename initLevenshteinDistanceMatrix and add its documentation

* refactor: add fillLevenshteinDistanceMatrix

* tests: reorganise tests, remove TestCase type

* docs: add edit distance to module-level documentation

* docs: mention Wagner–Fischer algorithm

* docs: add comment in fillLevenshteinDistanceMatrix

* style: reformat fillLevenshteinDistanceMatrix

* docs: update DIRECTORY.md

---------

Co-authored-by: Zoom <[email protected]>

* docs: add missing `#` (#50)

* docs: add missing `#`

* docs: update DIRECTORY.md

* docs: remove ` of a Circle`

* docs: update DIRECTORY.md

---------

Co-authored-by: dlesnoff <[email protected]>

* Fix: Remove unuseful date command

* chore: Update checkout version to v4 in build_directory_md

* Add error status checking + separate compilation and execution of directory.nim

---------

Co-authored-by: Dimitri LESNOFF <[email protected]>
Co-authored-by: David Leal <[email protected]>
  • Loading branch information
3 people committed Sep 8, 2023
1 parent c9c8077 commit 9c7501c
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/build_directory_md.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
name: build_directory_md

# yamllint disable-line rule:truthy
on:
workflow_dispatch:
push:
branches:
- 'main'
paths-ignore:
- '.github/**'
- '.scripts/**'
- 'DIRECTORY.md'

jobs:
build_directory_md:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: jiro4989/setup-nim-action@v1

- name: Build file
run: |
git clean -f -x -d
# Compile the script first
nim c -o:directory_script .scripts/directory.nim
compile_status=$?
if [ $compile_status -ne 0 ]; then
echo "Compilation of directory.nim failed with exit code $compile_status!"
exit $compile_status
fi
# Run the compiled script
./directory_script > DIRECTORY.md
exec_status=$?
if [ $exec_status -ne 0 ]; then
echo "Execution of directory.nim script failed with exit code $exec_status!"
exit $exec_status
fi
- name: Setup Git configurations
run: |
git config --global user.name github-actions[bot]
git config --global user.email '[email protected]'
- name: Commit and push changes
run: |
git checkout -b directory_update-${{ github.sha }}
git add DIRECTORY.md
git commit -m "docs: update DIRECTORY.md"
git push origin directory_update-${{ github.sha }}:directory_update-${{ github.sha }}
- name: Create a pull request
run: |
if [[ $(git log --branches --not --remotes) ]]; then
gh pr create --base ${GITHUB_REF##*/} --head directory_update-${{ github.sha }} --title 'docs: update DIRECTORY.md' --body 'Updated the DIRECTORY.md file (see the diff. for changes).'
fi
...

0 comments on commit 9c7501c

Please sign in to comment.