Skip to content

Commit

Permalink
feat: add changelog and license
Browse files Browse the repository at this point in the history
  • Loading branch information
ccrutchf committed Dec 1, 2024
1 parent ea4a8ea commit cac2e7c
Show file tree
Hide file tree
Showing 3 changed files with 234 additions and 0 deletions.
139 changes: 139 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# Changelog

All notable changes to this project will be documented in this file.

## [unreleased]

### πŸš€ Features

- Initial checkin
- Build for x86_64 and aarch64 on linux
- Build on windows and install gcc aarch64
- Build for macos
- Speed up build time by not downloading all targets
- Create universal binary for macos
- Export macos artifacts
- Output the files using ls for ubuntu and windows
- Export windows artifacts
- Export ubuntu artifacts
- Start of command line interface
- Introduce keyring
- Stubs of credential manager
- Introduce subcommand trait
- Logout subcommand stubs
- Parsing implemented. logout command implemented
- Specify the credential providers
- Reduce build complexity
- Use cross for cross compiling
- Cat the sources list
- Cat /etc/apt/apt-mirrors.txt
- Start implementing the credential manager using the system keyring
- Add in sqlite package
- Anyhow and thiserror
- More sqlite work
- Implementation of getting the credentialg
- Fully implemented credential manager
- Logout command implemented. login command started.
- Execute totp command
- Unit tests for credential manager
- Totp tests
- Prompt for nas password and save credential
- All synology errors added
- Logging in credential manager
- Save logs to config folder
- Additional logging
- Initial implementation of logging into synology
- Start of main subcommand to handle requests from git
- Add additional comments
- Init credential manager
- Pass event object into init
- Init fully implemented
- Read everything until terminate
- Call stubs for every event.
- Tracing on every method
- Login will check if we need a totp
- Add gitoxide to be able to interact with git
- Read from git config instead of yaml config
- Creates folder on synology when initializing.
- Better errors.
- Add compression library
- Report progress so that git lfs can report it
- Stubs for upload.
- Stub of upload
- Can upload to git lfs
- Download stub
- Support downloading from git lfs synology.
- Updated README.
- Reference releases in readme
- Use docker so that we can build both amd64 and aarch64 for ubuntu
- We should check in cargo.lock for binaries
- Support --version

### πŸ› Bug Fixes

- Yaml formatting
- Add missing targets to rust-toolchain.toml
- Only build x86
- Install cross compatible abi for aarch64
- Specify linker in tomml
- Specify linker
- Use gcc as linker
- Install the proper compiler tools
- Unused manifest error
- Readd manifest
- Install lld. don't install anything for windows
- Use msvc instead of gnu for windows
- Make sure all targets are installed
- Specify linker
- Try a different gcc
- Construct cargo toml
- Names for macos artifacts
- Correctly use file name for ubuntu
- Add additional dependencies for credential manager on ubuntu
- Pin futures-macro to make dependency resolving work correctly on linux
- Build aarch64 with cross instead
- Use cross instead of cargo
- Compile arm against musl
- Install libdbus for aarch64
- Add arm64 architecture for ubuntu
- Add additional mirror to support arm64
- Remove one mirror
- Replace more mirrors
- Try ubuntu 24.04
- Set the sources.list
- Typo in sources.list
- Specify amd64
- Don't build for arm linux. will build for this once github makes the arm linux contaienrs available
- Use bundled sqlite to fix windows build
- Toml typo
- Sql error during loging fixed
- Synology api throws errors correctly
- Execute totp command correctly
- Don't include password in logs
- Correctly report init errors
- Add rustup to bashrc
- Source cargo env before using cargo
- Update path to ensure cargo is accessible
- Use path in the same line as cargo
- Try sourcing cargo env again but different
- Use bash instead of sh
- Run the container and mount the repo
- Copy the files into the docker container during build

### πŸ’Ό Other

- Use rustup to install target
- Output the paths for the binary on macos
- A different mirror

### βš™οΈ Miscellaneous Tasks

- Code cleanup
- Remove an ignore warn

### ◀️ Revert

- Use gnu for aarch64 linux
- Build only the x86_64 binary

<!-- generated by git-cliff -->
11 changes: 11 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Copyright 2023 UC San Diego - Engineers for Exploration

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS β€œAS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
84 changes: 84 additions & 0 deletions cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.

[changelog]
# template for the changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
<!-- generated by git-cliff -->
"""
# remove the leading and trailing s
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]
# render body even when there are no releases to process
# render_always = true
# output file path
# output = "test.md"

[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->πŸš€ Features" },
{ message = "^fix", group = "<!-- 1 -->πŸ› Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->πŸ“š Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚑ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->πŸ§ͺ Testing" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->βš™οΈ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->πŸ›‘οΈ Security" },
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
{ message = ".*", group = "<!-- 10 -->πŸ’Ό Other" },
]
# filter out the commits that are not matched by commit parsers
filter_commits = false
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"

0 comments on commit cac2e7c

Please sign in to comment.