Skip to content

Commit f5be175

Browse files
committed
release is not pushed unless specified
1 parent bb9b3b0 commit f5be175

File tree

4 files changed

+19
-16
lines changed

4 files changed

+19
-16
lines changed

CHANGELOG.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
99

1010
### Added
1111

12-
- Added pushed fieled in Releases table
12+
- Implemented set/get for always_push
13+
- Added pushed field in Releases table
1314
- list --releases added
1415
- --all to have all entries available
1516

1617
### Changed
1718

19+
- Release is not pushed unless its specified
1820
- Refactored command_list
1921
- Updated version to 0.0.5
2022

include/database.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#define TABLE_CONFIG "Config"
1212
#define FIELDS_CONFIG "config_path, version_major, version_minor, version_patch, always_export, remote_repo"
1313
#define TABLE_RELEASES "Releases"
14-
#define FIELDS_RELEASES "version, date"
14+
#define FIELDS_RELEASES "version, date, push"
1515

1616
#define ENTRIES_MESSAGE "message"
1717
#define ENTRIES_VERSION "version"

src/commands.c

+14-13
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ char* update_config_version(const char* release_type)
169169
return version;
170170
}
171171

172-
void insert_release()
172+
void insert_release(_Bool pushed)
173173
{
174174
sqlite3* db;
175175
sqlite3_open(SQLITE_DB, &db);
@@ -182,7 +182,7 @@ void insert_release()
182182
query_builder_t* qb = create_query_builder();
183183
insert_q(qb, TABLE_RELEASES);
184184
columns_q(qb, FIELDS_RELEASES);
185-
char* values = clib_format_text("'%s', '%s'", version, date.full);
185+
char* values = clib_format_text("'%s', '%s', %d", version, date.full, pushed);
186186
values_q(qb, values);
187187
char* query = build_query(qb);
188188

@@ -488,24 +488,25 @@ void command_release(Options options)
488488
PANIC("Release type '%s' should be 'major', 'minor' or 'patch'. Try %s release -h", release_type, EXECUTABLE_NAME);
489489
}
490490

491+
sqlite3* db;
492+
sqlite3_open(SQLITE_DB, &db);
493+
_Bool release = select_always_push(db);
494+
sqlite3_close(db);
495+
496+
_Bool should_push = release || options.push;
497+
491498
char* version = update_config_version(release_type);
492-
insert_release();
499+
insert_release(should_push);
493500
char* query = clib_format_text("UPDATE Entries SET version = '%s' WHERE version = 'unreleased'", version);
494501
sqlite_execute_sql(SQLITE_DB, query);
495502

496503
command_export(options);
497504

498-
499-
sqlite3* db;
500-
sqlite3_open(SQLITE_DB, &db);
501-
_Bool release = select_always_export(db);
502-
sqlite3_close(db);
505+
if(!should_push) return; // Do not push the release on Github
503506

504-
if(release || options.push) {
505-
char* gh_command = clib_format_text("gh release create v%s -F %s/%s.md -t v%s", version, CHANGELOG_DIR, version, version);
506-
clib_execute_command(gh_command);
507-
free(gh_command);
508-
}
507+
char* gh_command = clib_format_text("gh release create v%s -F %s/%s.md -t v%s", version, CHANGELOG_DIR, version, version);
508+
clib_execute_command(gh_command);
509+
free(gh_command);
509510
}
510511

511512
void list_releases(sqlite3* db, Options options, char* condition, char* order_by)

src/help.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ void set_help()
6969
PTNI("--remote-repo <url> Specify the url of the remote repo");
7070
PTNI("--always-push <value> Specify whether to immediately push the release");
7171
PTNI("--always-export <value> Specify whether to export the %s file", CHANGELOG_FILE);
72-
PTNI(" after 'add', 'delete'");
72+
PTNI(" after 'add', 'delete' and 'edit'");
7373
PTNI(" Where always_export and always_push is set to 1 for: 1, true, TRUE, True, yes, y, YES, Yes");
7474
PTNI(" is set to 0 for every other value");
7575
}

0 commit comments

Comments
 (0)